{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "30a6a0e3",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Library created, but couldn't enable sharding: no such command: 'enablesharding', full error: {'ok': 0.0, 'errmsg': \"no such command: 'enablesharding'\", 'code': 59, 'codeName': 'CommandNotFound'}. This is OK if you're not 'admin'\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<ChunkStore at 0x26cd5d42d88>\n",
       "    <ArcticLibrary at 0x26cd5d42988, arctic.etf_quotes>\n",
       "        <Arctic at 0x26cd5d428c8, connected to MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, maxpoolsize=4, sockettimeoutms=600000, connecttimeoutms=2000, serverselectiontimeoutms=30000)>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from arctic import CHUNK_STORE, Arctic\n",
    "\n",
    "a = Arctic('localhost')\n",
    "a.initialize_library('etf_quotes', lib_type=CHUNK_STORE)\n",
    "lib = a['etf_quotes']\n",
    "lib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "1929cd5a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>close</th>\n",
       "      <th>factor</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-12-20</th>\n",
       "      <td>0.980000</td>\n",
       "      <td>1.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-12-21</th>\n",
       "      <td>0.976000</td>\n",
       "      <td>1.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-12-22</th>\n",
       "      <td>0.978000</td>\n",
       "      <td>1.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-12-23</th>\n",
       "      <td>0.972000</td>\n",
       "      <td>1.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-12-24</th>\n",
       "      <td>0.974000</td>\n",
       "      <td>1.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-10-10</th>\n",
       "      <td>6.405570</td>\n",
       "      <td>6.219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-10-11</th>\n",
       "      <td>6.486417</td>\n",
       "      <td>6.219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-10-12</th>\n",
       "      <td>6.654330</td>\n",
       "      <td>6.219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-10-13</th>\n",
       "      <td>6.672987</td>\n",
       "      <td>6.219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-10-14</th>\n",
       "      <td>6.921747</td>\n",
       "      <td>6.219</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>4229 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               close  factor\n",
       "date                        \n",
       "2004-12-20  0.980000   1.000\n",
       "2004-12-21  0.976000   1.000\n",
       "2004-12-22  0.978000   1.000\n",
       "2004-12-23  0.972000   1.000\n",
       "2004-12-24  0.974000   1.000\n",
       "...              ...     ...\n",
       "2022-10-10  6.405570   6.219\n",
       "2022-10-11  6.486417   6.219\n",
       "2022-10-12  6.654330   6.219\n",
       "2022-10-13  6.672987   6.219\n",
       "2022-10-14  6.921747   6.219\n",
       "\n",
       "[4229 rows x 2 columns]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#df = lib.read('164808.SZ')\n",
    "#chunk_range=pd.date_range('2012-01-01','2020-01-01')\n",
    "df = lib.read('160105.SZ',columns=['close','factor'])\n",
    "#print(lib.get_info('513290.SH'))\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "b7d9defc",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x26cd6133548>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['close'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "id": "2550f95b",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Library created, but couldn't enable sharding: no such command: 'enablesharding'. This is OK if you're not 'admin'\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "['600185.SH', '600301.SH']"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a.initialize_library('stock_daily', lib_type=CHUNK_STORE)\n",
    "lib_stock = a['stock_daily']\n",
    "lib_stock.list_symbols()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "id": "811623a1",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>close</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-28</th>\n",
       "      <td>21.07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-29</th>\n",
       "      <td>21.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-30</th>\n",
       "      <td>21.57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-31</th>\n",
       "      <td>21.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-04</th>\n",
       "      <td>19.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-05</th>\n",
       "      <td>18.84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-06</th>\n",
       "      <td>19.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-07</th>\n",
       "      <td>17.31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-08</th>\n",
       "      <td>17.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-11</th>\n",
       "      <td>15.84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-12</th>\n",
       "      <td>16.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-13</th>\n",
       "      <td>15.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-14</th>\n",
       "      <td>16.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-15</th>\n",
       "      <td>15.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-18</th>\n",
       "      <td>15.56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-19</th>\n",
       "      <td>16.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-20</th>\n",
       "      <td>15.92</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-21</th>\n",
       "      <td>15.96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-22</th>\n",
       "      <td>16.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-25</th>\n",
       "      <td>16.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-26</th>\n",
       "      <td>15.99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-27</th>\n",
       "      <td>15.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-28</th>\n",
       "      <td>15.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-29</th>\n",
       "      <td>16.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-01</th>\n",
       "      <td>16.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-02</th>\n",
       "      <td>16.97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-03</th>\n",
       "      <td>17.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-04</th>\n",
       "      <td>17.37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-05</th>\n",
       "      <td>17.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-15</th>\n",
       "      <td>16.59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-16</th>\n",
       "      <td>17.37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-17</th>\n",
       "      <td>17.40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-18</th>\n",
       "      <td>17.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-19</th>\n",
       "      <td>17.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-22</th>\n",
       "      <td>17.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-23</th>\n",
       "      <td>17.21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-24</th>\n",
       "      <td>17.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-25</th>\n",
       "      <td>15.68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-26</th>\n",
       "      <td>15.97</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            close\n",
       "date             \n",
       "2015-12-28  21.07\n",
       "2015-12-29  21.34\n",
       "2015-12-30  21.57\n",
       "2015-12-31  21.24\n",
       "2016-01-04  19.12\n",
       "2016-01-05  18.84\n",
       "2016-01-06  19.23\n",
       "2016-01-07  17.31\n",
       "2016-01-08  17.33\n",
       "2016-01-11  15.84\n",
       "2016-01-12  16.46\n",
       "2016-01-13  15.76\n",
       "2016-01-14  16.35\n",
       "2016-01-15  15.47\n",
       "2016-01-18  15.56\n",
       "2016-01-19  16.28\n",
       "2016-01-20  15.92\n",
       "2016-01-21  15.96\n",
       "2016-01-22  16.91\n",
       "2016-01-25  16.98\n",
       "2016-01-26  15.99\n",
       "2016-01-27  15.81\n",
       "2016-01-28  15.86\n",
       "2016-01-29  16.39\n",
       "2016-02-01  16.26\n",
       "2016-02-02  16.97\n",
       "2016-02-03  17.39\n",
       "2016-02-04  17.37\n",
       "2016-02-05  17.00\n",
       "2016-02-15  16.59\n",
       "2016-02-16  17.37\n",
       "2016-02-17  17.40\n",
       "2016-02-18  17.24\n",
       "2016-02-19  17.20\n",
       "2016-02-22  17.58\n",
       "2016-02-23  17.21\n",
       "2016-02-24  17.26\n",
       "2016-02-25  15.68\n",
       "2016-02-26  15.97"
      ]
     },
     "execution_count": 187,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "symbol = '600185.SH'\n",
    "#lib_stock.delete(symbol)\n",
    "import pandas as pd\n",
    "from arctic.date import DateRange\n",
    "df = lib_stock.read(symbol,DateRange('2015-12-27', '2016-02-28'),columns=['close'])\n",
    "lib_stock.get_info(symbol)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "id": "026dfe5a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(b'2002-02-06 00:00:00', b'2002-02-06 23:59:59.999000'),\n",
       " (b'2002-02-07 00:00:00', b'2002-02-07 23:59:59.999000'),\n",
       " (b'2002-02-08 00:00:00', b'2002-02-08 23:59:59.999000'),\n",
       " (b'2002-02-25 00:00:00', b'2002-02-25 23:59:59.999000'),\n",
       " (b'2002-02-26 00:00:00', b'2002-02-26 23:59:59.999000'),\n",
       " (b'2002-02-27 00:00:00', b'2002-02-27 23:59:59.999000'),\n",
       " (b'2002-02-28 00:00:00', b'2002-02-28 23:59:59.999000'),\n",
       " (b'2002-03-01 00:00:00', b'2002-03-01 23:59:59.999000'),\n",
       " (b'2002-03-04 00:00:00', b'2002-03-04 23:59:59.999000'),\n",
       " (b'2002-03-05 00:00:00', b'2002-03-05 23:59:59.999000'),\n",
       " (b'2002-03-06 00:00:00', b'2002-03-06 23:59:59.999000'),\n",
       " (b'2002-03-07 00:00:00', b'2002-03-07 23:59:59.999000'),\n",
       " (b'2002-03-08 00:00:00', b'2002-03-08 23:59:59.999000'),\n",
       " (b'2002-03-11 00:00:00', b'2002-03-11 23:59:59.999000'),\n",
       " (b'2002-03-12 00:00:00', b'2002-03-12 23:59:59.999000'),\n",
       " (b'2002-03-13 00:00:00', b'2002-03-13 23:59:59.999000'),\n",
       " (b'2002-03-14 00:00:00', b'2002-03-14 23:59:59.999000'),\n",
       " (b'2002-03-15 00:00:00', b'2002-03-15 23:59:59.999000'),\n",
       " (b'2002-03-18 00:00:00', b'2002-03-18 23:59:59.999000'),\n",
       " (b'2002-03-19 00:00:00', b'2002-03-19 23:59:59.999000'),\n",
       " (b'2002-03-20 00:00:00', b'2002-03-20 23:59:59.999000'),\n",
       " (b'2002-03-21 00:00:00', b'2002-03-21 23:59:59.999000'),\n",
       " (b'2002-03-22 00:00:00', b'2002-03-22 23:59:59.999000'),\n",
       " (b'2002-03-25 00:00:00', b'2002-03-25 23:59:59.999000'),\n",
       " (b'2002-03-26 00:00:00', b'2002-03-26 23:59:59.999000'),\n",
       " (b'2002-03-27 00:00:00', b'2002-03-27 23:59:59.999000'),\n",
       " (b'2002-03-28 00:00:00', b'2002-03-28 23:59:59.999000'),\n",
       " (b'2002-03-29 00:00:00', b'2002-03-29 23:59:59.999000'),\n",
       " (b'2002-04-01 00:00:00', b'2002-04-01 23:59:59.999000'),\n",
       " (b'2002-04-02 00:00:00', b'2002-04-02 23:59:59.999000'),\n",
       " (b'2002-04-03 00:00:00', b'2002-04-03 23:59:59.999000'),\n",
       " (b'2002-04-04 00:00:00', b'2002-04-04 23:59:59.999000'),\n",
       " (b'2002-04-05 00:00:00', b'2002-04-05 23:59:59.999000'),\n",
       " (b'2002-04-08 00:00:00', b'2002-04-08 23:59:59.999000'),\n",
       " (b'2002-04-09 00:00:00', b'2002-04-09 23:59:59.999000'),\n",
       " (b'2002-04-10 00:00:00', b'2002-04-10 23:59:59.999000'),\n",
       " (b'2002-04-11 00:00:00', b'2002-04-11 23:59:59.999000'),\n",
       " (b'2002-04-12 00:00:00', b'2002-04-12 23:59:59.999000'),\n",
       " (b'2002-04-15 00:00:00', b'2002-04-15 23:59:59.999000'),\n",
       " (b'2002-04-16 00:00:00', b'2002-04-16 23:59:59.999000'),\n",
       " (b'2002-04-17 00:00:00', b'2002-04-17 23:59:59.999000'),\n",
       " (b'2002-04-18 00:00:00', b'2002-04-18 23:59:59.999000'),\n",
       " (b'2002-04-19 00:00:00', b'2002-04-19 23:59:59.999000'),\n",
       " (b'2002-04-22 00:00:00', b'2002-04-22 23:59:59.999000'),\n",
       " (b'2002-04-23 00:00:00', b'2002-04-23 23:59:59.999000'),\n",
       " (b'2002-04-24 00:00:00', b'2002-04-24 23:59:59.999000'),\n",
       " (b'2002-04-25 00:00:00', b'2002-04-25 23:59:59.999000'),\n",
       " (b'2002-04-26 00:00:00', b'2002-04-26 23:59:59.999000'),\n",
       " (b'2002-04-29 00:00:00', b'2002-04-29 23:59:59.999000'),\n",
       " (b'2002-04-30 00:00:00', b'2002-04-30 23:59:59.999000'),\n",
       " (b'2002-05-08 00:00:00', b'2002-05-08 23:59:59.999000'),\n",
       " (b'2002-05-09 00:00:00', b'2002-05-09 23:59:59.999000'),\n",
       " (b'2002-05-10 00:00:00', b'2002-05-10 23:59:59.999000'),\n",
       " (b'2002-05-13 00:00:00', b'2002-05-13 23:59:59.999000'),\n",
       " (b'2002-05-14 00:00:00', b'2002-05-14 23:59:59.999000'),\n",
       " (b'2002-05-15 00:00:00', b'2002-05-15 23:59:59.999000'),\n",
       " (b'2002-05-16 00:00:00', b'2002-05-16 23:59:59.999000'),\n",
       " (b'2002-05-17 00:00:00', b'2002-05-17 23:59:59.999000'),\n",
       " (b'2002-05-20 00:00:00', b'2002-05-20 23:59:59.999000'),\n",
       " (b'2002-05-21 00:00:00', b'2002-05-21 23:59:59.999000'),\n",
       " (b'2002-05-22 00:00:00', b'2002-05-22 23:59:59.999000'),\n",
       " (b'2002-05-23 00:00:00', b'2002-05-23 23:59:59.999000'),\n",
       " (b'2002-05-24 00:00:00', b'2002-05-24 23:59:59.999000'),\n",
       " (b'2002-05-27 00:00:00', b'2002-05-27 23:59:59.999000'),\n",
       " (b'2002-05-28 00:00:00', b'2002-05-28 23:59:59.999000'),\n",
       " (b'2002-05-29 00:00:00', b'2002-05-29 23:59:59.999000'),\n",
       " (b'2002-05-30 00:00:00', b'2002-05-30 23:59:59.999000'),\n",
       " (b'2002-05-31 00:00:00', b'2002-05-31 23:59:59.999000'),\n",
       " (b'2002-06-03 00:00:00', b'2002-06-03 23:59:59.999000'),\n",
       " (b'2002-06-04 00:00:00', b'2002-06-04 23:59:59.999000'),\n",
       " (b'2002-06-05 00:00:00', b'2002-06-05 23:59:59.999000'),\n",
       " (b'2002-06-06 00:00:00', b'2002-06-06 23:59:59.999000'),\n",
       " (b'2002-06-07 00:00:00', b'2002-06-07 23:59:59.999000'),\n",
       " (b'2002-06-10 00:00:00', b'2002-06-10 23:59:59.999000'),\n",
       " (b'2002-06-11 00:00:00', b'2002-06-11 23:59:59.999000'),\n",
       " (b'2002-06-12 00:00:00', b'2002-06-12 23:59:59.999000'),\n",
       " (b'2002-06-13 00:00:00', b'2002-06-13 23:59:59.999000'),\n",
       " (b'2002-06-14 00:00:00', b'2002-06-14 23:59:59.999000'),\n",
       " (b'2002-06-17 00:00:00', b'2002-06-17 23:59:59.999000'),\n",
       " (b'2002-06-19 00:00:00', b'2002-06-19 23:59:59.999000'),\n",
       " (b'2002-06-20 00:00:00', b'2002-06-20 23:59:59.999000'),\n",
       " (b'2002-06-21 00:00:00', b'2002-06-21 23:59:59.999000'),\n",
       " (b'2002-06-24 00:00:00', b'2002-06-24 23:59:59.999000'),\n",
       " (b'2002-06-25 00:00:00', b'2002-06-25 23:59:59.999000'),\n",
       " (b'2002-06-26 00:00:00', b'2002-06-26 23:59:59.999000'),\n",
       " (b'2002-06-27 00:00:00', b'2002-06-27 23:59:59.999000'),\n",
       " (b'2002-06-28 00:00:00', b'2002-06-28 23:59:59.999000'),\n",
       " (b'2002-07-01 00:00:00', b'2002-07-01 23:59:59.999000'),\n",
       " (b'2002-07-02 00:00:00', b'2002-07-02 23:59:59.999000'),\n",
       " (b'2002-07-03 00:00:00', b'2002-07-03 23:59:59.999000'),\n",
       " (b'2002-07-04 00:00:00', b'2002-07-04 23:59:59.999000'),\n",
       " (b'2002-07-05 00:00:00', b'2002-07-05 23:59:59.999000'),\n",
       " (b'2002-07-08 00:00:00', b'2002-07-08 23:59:59.999000'),\n",
       " (b'2002-07-09 00:00:00', b'2002-07-09 23:59:59.999000'),\n",
       " (b'2002-07-10 00:00:00', b'2002-07-10 23:59:59.999000'),\n",
       " (b'2002-07-11 00:00:00', b'2002-07-11 23:59:59.999000'),\n",
       " (b'2002-07-12 00:00:00', b'2002-07-12 23:59:59.999000'),\n",
       " (b'2002-07-15 00:00:00', b'2002-07-15 23:59:59.999000'),\n",
       " (b'2002-07-16 00:00:00', b'2002-07-16 23:59:59.999000'),\n",
       " (b'2002-07-17 00:00:00', b'2002-07-17 23:59:59.999000'),\n",
       " (b'2002-07-18 00:00:00', b'2002-07-18 23:59:59.999000'),\n",
       " (b'2002-07-19 00:00:00', b'2002-07-19 23:59:59.999000'),\n",
       " (b'2002-07-22 00:00:00', b'2002-07-22 23:59:59.999000'),\n",
       " (b'2002-07-23 00:00:00', b'2002-07-23 23:59:59.999000'),\n",
       " (b'2002-07-24 00:00:00', b'2002-07-24 23:59:59.999000'),\n",
       " (b'2002-07-25 00:00:00', b'2002-07-25 23:59:59.999000'),\n",
       " (b'2002-07-26 00:00:00', b'2002-07-26 23:59:59.999000'),\n",
       " (b'2002-07-29 00:00:00', b'2002-07-29 23:59:59.999000'),\n",
       " (b'2002-07-30 00:00:00', b'2002-07-30 23:59:59.999000'),\n",
       " (b'2002-07-31 00:00:00', b'2002-07-31 23:59:59.999000'),\n",
       " (b'2002-08-01 00:00:00', b'2002-08-01 23:59:59.999000'),\n",
       " (b'2002-08-02 00:00:00', b'2002-08-02 23:59:59.999000'),\n",
       " (b'2002-08-05 00:00:00', b'2002-08-05 23:59:59.999000'),\n",
       " (b'2002-08-06 00:00:00', b'2002-08-06 23:59:59.999000'),\n",
       " (b'2002-08-07 00:00:00', b'2002-08-07 23:59:59.999000'),\n",
       " (b'2002-08-08 00:00:00', b'2002-08-08 23:59:59.999000'),\n",
       " (b'2002-08-09 00:00:00', b'2002-08-09 23:59:59.999000'),\n",
       " (b'2002-08-12 00:00:00', b'2002-08-12 23:59:59.999000'),\n",
       " (b'2002-08-13 00:00:00', b'2002-08-13 23:59:59.999000'),\n",
       " (b'2002-08-14 00:00:00', b'2002-08-14 23:59:59.999000'),\n",
       " (b'2002-08-15 00:00:00', b'2002-08-15 23:59:59.999000'),\n",
       " (b'2002-08-16 00:00:00', b'2002-08-16 23:59:59.999000'),\n",
       " (b'2002-08-19 00:00:00', b'2002-08-19 23:59:59.999000'),\n",
       " (b'2002-08-20 00:00:00', b'2002-08-20 23:59:59.999000'),\n",
       " (b'2002-08-21 00:00:00', b'2002-08-21 23:59:59.999000'),\n",
       " (b'2002-08-22 00:00:00', b'2002-08-22 23:59:59.999000'),\n",
       " (b'2002-08-23 00:00:00', b'2002-08-23 23:59:59.999000'),\n",
       " (b'2002-08-26 00:00:00', b'2002-08-26 23:59:59.999000'),\n",
       " (b'2002-08-27 00:00:00', b'2002-08-27 23:59:59.999000'),\n",
       " (b'2002-08-28 00:00:00', b'2002-08-28 23:59:59.999000'),\n",
       " (b'2002-08-29 00:00:00', b'2002-08-29 23:59:59.999000'),\n",
       " (b'2002-08-30 00:00:00', b'2002-08-30 23:59:59.999000'),\n",
       " (b'2002-09-02 00:00:00', b'2002-09-02 23:59:59.999000'),\n",
       " (b'2002-09-03 00:00:00', b'2002-09-03 23:59:59.999000'),\n",
       " (b'2002-09-04 00:00:00', b'2002-09-04 23:59:59.999000'),\n",
       " (b'2002-09-05 00:00:00', b'2002-09-05 23:59:59.999000'),\n",
       " (b'2002-09-06 00:00:00', b'2002-09-06 23:59:59.999000'),\n",
       " (b'2002-09-09 00:00:00', b'2002-09-09 23:59:59.999000'),\n",
       " (b'2002-09-10 00:00:00', b'2002-09-10 23:59:59.999000'),\n",
       " (b'2002-09-11 00:00:00', b'2002-09-11 23:59:59.999000'),\n",
       " (b'2002-09-12 00:00:00', b'2002-09-12 23:59:59.999000'),\n",
       " (b'2002-09-13 00:00:00', b'2002-09-13 23:59:59.999000'),\n",
       " (b'2002-09-16 00:00:00', b'2002-09-16 23:59:59.999000'),\n",
       " (b'2002-09-17 00:00:00', b'2002-09-17 23:59:59.999000'),\n",
       " (b'2002-09-18 00:00:00', b'2002-09-18 23:59:59.999000'),\n",
       " (b'2002-09-19 00:00:00', b'2002-09-19 23:59:59.999000'),\n",
       " (b'2002-09-20 00:00:00', b'2002-09-20 23:59:59.999000'),\n",
       " (b'2002-09-23 00:00:00', b'2002-09-23 23:59:59.999000'),\n",
       " (b'2002-09-24 00:00:00', b'2002-09-24 23:59:59.999000'),\n",
       " (b'2002-09-25 00:00:00', b'2002-09-25 23:59:59.999000'),\n",
       " (b'2002-09-26 00:00:00', b'2002-09-26 23:59:59.999000'),\n",
       " (b'2002-09-27 00:00:00', b'2002-09-27 23:59:59.999000'),\n",
       " (b'2002-10-08 00:00:00', b'2002-10-08 23:59:59.999000'),\n",
       " (b'2002-10-09 00:00:00', b'2002-10-09 23:59:59.999000'),\n",
       " (b'2002-10-10 00:00:00', b'2002-10-10 23:59:59.999000'),\n",
       " (b'2002-10-11 00:00:00', b'2002-10-11 23:59:59.999000'),\n",
       " (b'2002-10-14 00:00:00', b'2002-10-14 23:59:59.999000'),\n",
       " (b'2002-10-15 00:00:00', b'2002-10-15 23:59:59.999000'),\n",
       " (b'2002-10-16 00:00:00', b'2002-10-16 23:59:59.999000'),\n",
       " (b'2002-10-18 00:00:00', b'2002-10-18 23:59:59.999000'),\n",
       " (b'2002-10-21 00:00:00', b'2002-10-21 23:59:59.999000'),\n",
       " (b'2002-10-22 00:00:00', b'2002-10-22 23:59:59.999000'),\n",
       " (b'2002-10-23 00:00:00', b'2002-10-23 23:59:59.999000'),\n",
       " (b'2002-10-24 00:00:00', b'2002-10-24 23:59:59.999000'),\n",
       " (b'2002-10-25 00:00:00', b'2002-10-25 23:59:59.999000'),\n",
       " (b'2002-10-28 00:00:00', b'2002-10-28 23:59:59.999000'),\n",
       " (b'2002-10-29 00:00:00', b'2002-10-29 23:59:59.999000'),\n",
       " (b'2002-10-30 00:00:00', b'2002-10-30 23:59:59.999000'),\n",
       " (b'2002-10-31 00:00:00', b'2002-10-31 23:59:59.999000'),\n",
       " (b'2002-11-01 00:00:00', b'2002-11-01 23:59:59.999000'),\n",
       " (b'2002-11-04 00:00:00', b'2002-11-04 23:59:59.999000'),\n",
       " (b'2002-11-05 00:00:00', b'2002-11-05 23:59:59.999000'),\n",
       " (b'2002-11-06 00:00:00', b'2002-11-06 23:59:59.999000'),\n",
       " (b'2002-11-07 00:00:00', b'2002-11-07 23:59:59.999000'),\n",
       " (b'2002-11-08 00:00:00', b'2002-11-08 23:59:59.999000'),\n",
       " (b'2002-11-11 00:00:00', b'2002-11-11 23:59:59.999000'),\n",
       " (b'2002-11-12 00:00:00', b'2002-11-12 23:59:59.999000'),\n",
       " (b'2002-11-13 00:00:00', b'2002-11-13 23:59:59.999000'),\n",
       " (b'2002-11-14 00:00:00', b'2002-11-14 23:59:59.999000'),\n",
       " (b'2002-11-15 00:00:00', b'2002-11-15 23:59:59.999000'),\n",
       " (b'2002-11-18 00:00:00', b'2002-11-18 23:59:59.999000'),\n",
       " (b'2002-11-19 00:00:00', b'2002-11-19 23:59:59.999000'),\n",
       " (b'2002-11-20 00:00:00', b'2002-11-20 23:59:59.999000'),\n",
       " (b'2002-11-21 00:00:00', b'2002-11-21 23:59:59.999000'),\n",
       " (b'2002-11-22 00:00:00', b'2002-11-22 23:59:59.999000'),\n",
       " (b'2002-11-25 00:00:00', b'2002-11-25 23:59:59.999000'),\n",
       " (b'2002-11-26 00:00:00', b'2002-11-26 23:59:59.999000'),\n",
       " (b'2002-11-27 00:00:00', b'2002-11-27 23:59:59.999000'),\n",
       " (b'2002-11-28 00:00:00', b'2002-11-28 23:59:59.999000'),\n",
       " (b'2002-11-29 00:00:00', b'2002-11-29 23:59:59.999000'),\n",
       " (b'2002-12-02 00:00:00', b'2002-12-02 23:59:59.999000'),\n",
       " (b'2002-12-03 00:00:00', b'2002-12-03 23:59:59.999000'),\n",
       " (b'2002-12-04 00:00:00', b'2002-12-04 23:59:59.999000'),\n",
       " (b'2002-12-05 00:00:00', b'2002-12-05 23:59:59.999000'),\n",
       " (b'2002-12-06 00:00:00', b'2002-12-06 23:59:59.999000'),\n",
       " (b'2002-12-09 00:00:00', b'2002-12-09 23:59:59.999000'),\n",
       " (b'2002-12-10 00:00:00', b'2002-12-10 23:59:59.999000'),\n",
       " (b'2002-12-11 00:00:00', b'2002-12-11 23:59:59.999000'),\n",
       " (b'2002-12-12 00:00:00', b'2002-12-12 23:59:59.999000'),\n",
       " (b'2002-12-13 00:00:00', b'2002-12-13 23:59:59.999000'),\n",
       " (b'2002-12-16 00:00:00', b'2002-12-16 23:59:59.999000'),\n",
       " (b'2002-12-17 00:00:00', b'2002-12-17 23:59:59.999000'),\n",
       " (b'2002-12-18 00:00:00', b'2002-12-18 23:59:59.999000'),\n",
       " (b'2002-12-19 00:00:00', b'2002-12-19 23:59:59.999000'),\n",
       " (b'2002-12-20 00:00:00', b'2002-12-20 23:59:59.999000'),\n",
       " (b'2002-12-23 00:00:00', b'2002-12-23 23:59:59.999000'),\n",
       " (b'2002-12-24 00:00:00', b'2002-12-24 23:59:59.999000'),\n",
       " (b'2002-12-25 00:00:00', b'2002-12-25 23:59:59.999000'),\n",
       " (b'2002-12-26 00:00:00', b'2002-12-26 23:59:59.999000'),\n",
       " (b'2002-12-27 00:00:00', b'2002-12-27 23:59:59.999000'),\n",
       " (b'2002-12-30 00:00:00', b'2002-12-30 23:59:59.999000'),\n",
       " (b'2002-12-31 00:00:00', b'2002-12-31 23:59:59.999000'),\n",
       " (b'2003-01-02 00:00:00', b'2003-01-02 23:59:59.999000'),\n",
       " (b'2003-01-03 00:00:00', b'2003-01-03 23:59:59.999000'),\n",
       " (b'2003-01-06 00:00:00', b'2003-01-06 23:59:59.999000'),\n",
       " (b'2003-01-07 00:00:00', b'2003-01-07 23:59:59.999000'),\n",
       " (b'2003-01-08 00:00:00', b'2003-01-08 23:59:59.999000'),\n",
       " (b'2003-01-09 00:00:00', b'2003-01-09 23:59:59.999000'),\n",
       " (b'2003-01-10 00:00:00', b'2003-01-10 23:59:59.999000'),\n",
       " (b'2003-01-13 00:00:00', b'2003-01-13 23:59:59.999000'),\n",
       " (b'2003-01-14 00:00:00', b'2003-01-14 23:59:59.999000'),\n",
       " (b'2003-01-15 00:00:00', b'2003-01-15 23:59:59.999000'),\n",
       " (b'2003-01-16 00:00:00', b'2003-01-16 23:59:59.999000'),\n",
       " (b'2003-01-17 00:00:00', b'2003-01-17 23:59:59.999000'),\n",
       " (b'2003-01-20 00:00:00', b'2003-01-20 23:59:59.999000'),\n",
       " (b'2003-01-21 00:00:00', b'2003-01-21 23:59:59.999000'),\n",
       " (b'2003-01-22 00:00:00', b'2003-01-22 23:59:59.999000'),\n",
       " (b'2003-01-23 00:00:00', b'2003-01-23 23:59:59.999000'),\n",
       " (b'2003-01-24 00:00:00', b'2003-01-24 23:59:59.999000'),\n",
       " (b'2003-01-27 00:00:00', b'2003-01-27 23:59:59.999000'),\n",
       " (b'2003-01-28 00:00:00', b'2003-01-28 23:59:59.999000'),\n",
       " (b'2003-01-29 00:00:00', b'2003-01-29 23:59:59.999000'),\n",
       " (b'2003-02-10 00:00:00', b'2003-02-10 23:59:59.999000'),\n",
       " (b'2003-02-11 00:00:00', b'2003-02-11 23:59:59.999000'),\n",
       " (b'2003-02-12 00:00:00', b'2003-02-12 23:59:59.999000'),\n",
       " (b'2003-02-13 00:00:00', b'2003-02-13 23:59:59.999000'),\n",
       " (b'2003-02-14 00:00:00', b'2003-02-14 23:59:59.999000'),\n",
       " (b'2003-02-17 00:00:00', b'2003-02-17 23:59:59.999000'),\n",
       " (b'2003-02-18 00:00:00', b'2003-02-18 23:59:59.999000'),\n",
       " (b'2003-02-19 00:00:00', b'2003-02-19 23:59:59.999000'),\n",
       " (b'2003-02-20 00:00:00', b'2003-02-20 23:59:59.999000'),\n",
       " (b'2003-02-21 00:00:00', b'2003-02-21 23:59:59.999000'),\n",
       " (b'2003-02-24 00:00:00', b'2003-02-24 23:59:59.999000'),\n",
       " (b'2003-02-25 00:00:00', b'2003-02-25 23:59:59.999000'),\n",
       " (b'2003-02-26 00:00:00', b'2003-02-26 23:59:59.999000'),\n",
       " (b'2003-02-27 00:00:00', b'2003-02-27 23:59:59.999000'),\n",
       " (b'2003-02-28 00:00:00', b'2003-02-28 23:59:59.999000'),\n",
       " (b'2003-03-03 00:00:00', b'2003-03-03 23:59:59.999000'),\n",
       " (b'2003-03-04 00:00:00', b'2003-03-04 23:59:59.999000'),\n",
       " (b'2003-03-05 00:00:00', b'2003-03-05 23:59:59.999000'),\n",
       " (b'2003-03-06 00:00:00', b'2003-03-06 23:59:59.999000'),\n",
       " (b'2003-03-07 00:00:00', b'2003-03-07 23:59:59.999000'),\n",
       " (b'2003-03-10 00:00:00', b'2003-03-10 23:59:59.999000'),\n",
       " (b'2003-03-11 00:00:00', b'2003-03-11 23:59:59.999000'),\n",
       " (b'2003-03-12 00:00:00', b'2003-03-12 23:59:59.999000'),\n",
       " (b'2003-03-13 00:00:00', b'2003-03-13 23:59:59.999000'),\n",
       " (b'2003-03-14 00:00:00', b'2003-03-14 23:59:59.999000'),\n",
       " (b'2003-03-17 00:00:00', b'2003-03-17 23:59:59.999000'),\n",
       " (b'2003-03-18 00:00:00', b'2003-03-18 23:59:59.999000'),\n",
       " (b'2003-03-19 00:00:00', b'2003-03-19 23:59:59.999000'),\n",
       " (b'2003-03-20 00:00:00', b'2003-03-20 23:59:59.999000'),\n",
       " (b'2003-03-21 00:00:00', b'2003-03-21 23:59:59.999000'),\n",
       " (b'2003-03-24 00:00:00', b'2003-03-24 23:59:59.999000'),\n",
       " (b'2003-03-25 00:00:00', b'2003-03-25 23:59:59.999000'),\n",
       " (b'2003-03-26 00:00:00', b'2003-03-26 23:59:59.999000'),\n",
       " (b'2003-03-27 00:00:00', b'2003-03-27 23:59:59.999000'),\n",
       " (b'2003-03-28 00:00:00', b'2003-03-28 23:59:59.999000'),\n",
       " (b'2003-03-31 00:00:00', b'2003-03-31 23:59:59.999000'),\n",
       " (b'2003-04-01 00:00:00', b'2003-04-01 23:59:59.999000'),\n",
       " (b'2003-04-02 00:00:00', b'2003-04-02 23:59:59.999000'),\n",
       " (b'2003-04-03 00:00:00', b'2003-04-03 23:59:59.999000'),\n",
       " (b'2003-04-04 00:00:00', b'2003-04-04 23:59:59.999000'),\n",
       " (b'2003-04-07 00:00:00', b'2003-04-07 23:59:59.999000'),\n",
       " (b'2003-04-08 00:00:00', b'2003-04-08 23:59:59.999000'),\n",
       " (b'2003-04-09 00:00:00', b'2003-04-09 23:59:59.999000'),\n",
       " (b'2003-04-10 00:00:00', b'2003-04-10 23:59:59.999000'),\n",
       " (b'2003-04-11 00:00:00', b'2003-04-11 23:59:59.999000'),\n",
       " (b'2003-04-14 00:00:00', b'2003-04-14 23:59:59.999000'),\n",
       " (b'2003-04-15 00:00:00', b'2003-04-15 23:59:59.999000'),\n",
       " (b'2003-04-16 00:00:00', b'2003-04-16 23:59:59.999000'),\n",
       " (b'2003-04-17 00:00:00', b'2003-04-17 23:59:59.999000'),\n",
       " (b'2003-04-18 00:00:00', b'2003-04-18 23:59:59.999000'),\n",
       " (b'2003-04-21 00:00:00', b'2003-04-21 23:59:59.999000'),\n",
       " (b'2003-04-22 00:00:00', b'2003-04-22 23:59:59.999000'),\n",
       " (b'2003-04-23 00:00:00', b'2003-04-23 23:59:59.999000'),\n",
       " (b'2003-04-24 00:00:00', b'2003-04-24 23:59:59.999000'),\n",
       " (b'2003-04-25 00:00:00', b'2003-04-25 23:59:59.999000'),\n",
       " (b'2003-04-28 00:00:00', b'2003-04-28 23:59:59.999000'),\n",
       " (b'2003-04-29 00:00:00', b'2003-04-29 23:59:59.999000'),\n",
       " (b'2003-04-30 00:00:00', b'2003-04-30 23:59:59.999000'),\n",
       " (b'2003-05-12 00:00:00', b'2003-05-12 23:59:59.999000'),\n",
       " (b'2003-05-13 00:00:00', b'2003-05-13 23:59:59.999000'),\n",
       " (b'2003-05-14 00:00:00', b'2003-05-14 23:59:59.999000'),\n",
       " (b'2003-05-15 00:00:00', b'2003-05-15 23:59:59.999000'),\n",
       " (b'2003-05-16 00:00:00', b'2003-05-16 23:59:59.999000'),\n",
       " (b'2003-05-19 00:00:00', b'2003-05-19 23:59:59.999000'),\n",
       " (b'2003-05-20 00:00:00', b'2003-05-20 23:59:59.999000'),\n",
       " (b'2003-05-21 00:00:00', b'2003-05-21 23:59:59.999000'),\n",
       " (b'2003-05-22 00:00:00', b'2003-05-22 23:59:59.999000'),\n",
       " (b'2003-05-23 00:00:00', b'2003-05-23 23:59:59.999000'),\n",
       " (b'2003-05-26 00:00:00', b'2003-05-26 23:59:59.999000'),\n",
       " (b'2003-05-27 00:00:00', b'2003-05-27 23:59:59.999000'),\n",
       " (b'2003-05-28 00:00:00', b'2003-05-28 23:59:59.999000'),\n",
       " (b'2003-05-29 00:00:00', b'2003-05-29 23:59:59.999000'),\n",
       " (b'2003-05-30 00:00:00', b'2003-05-30 23:59:59.999000'),\n",
       " (b'2003-06-02 00:00:00', b'2003-06-02 23:59:59.999000'),\n",
       " (b'2003-06-03 00:00:00', b'2003-06-03 23:59:59.999000'),\n",
       " (b'2003-06-04 00:00:00', b'2003-06-04 23:59:59.999000'),\n",
       " (b'2003-06-05 00:00:00', b'2003-06-05 23:59:59.999000'),\n",
       " (b'2003-06-06 00:00:00', b'2003-06-06 23:59:59.999000'),\n",
       " (b'2003-06-09 00:00:00', b'2003-06-09 23:59:59.999000'),\n",
       " (b'2003-06-10 00:00:00', b'2003-06-10 23:59:59.999000'),\n",
       " (b'2003-06-11 00:00:00', b'2003-06-11 23:59:59.999000'),\n",
       " (b'2003-06-12 00:00:00', b'2003-06-12 23:59:59.999000'),\n",
       " (b'2003-06-13 00:00:00', b'2003-06-13 23:59:59.999000'),\n",
       " (b'2003-06-16 00:00:00', b'2003-06-16 23:59:59.999000'),\n",
       " (b'2003-06-17 00:00:00', b'2003-06-17 23:59:59.999000'),\n",
       " (b'2003-06-18 00:00:00', b'2003-06-18 23:59:59.999000'),\n",
       " (b'2003-06-19 00:00:00', b'2003-06-19 23:59:59.999000'),\n",
       " (b'2003-06-20 00:00:00', b'2003-06-20 23:59:59.999000'),\n",
       " (b'2003-06-23 00:00:00', b'2003-06-23 23:59:59.999000'),\n",
       " (b'2003-06-24 00:00:00', b'2003-06-24 23:59:59.999000'),\n",
       " (b'2003-06-25 00:00:00', b'2003-06-25 23:59:59.999000'),\n",
       " (b'2003-06-26 00:00:00', b'2003-06-26 23:59:59.999000'),\n",
       " (b'2003-06-30 00:00:00', b'2003-06-30 23:59:59.999000'),\n",
       " (b'2003-07-01 00:00:00', b'2003-07-01 23:59:59.999000'),\n",
       " (b'2003-07-02 00:00:00', b'2003-07-02 23:59:59.999000'),\n",
       " (b'2003-07-03 00:00:00', b'2003-07-03 23:59:59.999000'),\n",
       " (b'2003-07-04 00:00:00', b'2003-07-04 23:59:59.999000'),\n",
       " (b'2003-07-07 00:00:00', b'2003-07-07 23:59:59.999000'),\n",
       " (b'2003-07-08 00:00:00', b'2003-07-08 23:59:59.999000'),\n",
       " (b'2003-07-09 00:00:00', b'2003-07-09 23:59:59.999000'),\n",
       " (b'2003-07-10 00:00:00', b'2003-07-10 23:59:59.999000'),\n",
       " (b'2003-07-11 00:00:00', b'2003-07-11 23:59:59.999000'),\n",
       " (b'2003-07-14 00:00:00', b'2003-07-14 23:59:59.999000'),\n",
       " (b'2003-07-15 00:00:00', b'2003-07-15 23:59:59.999000'),\n",
       " (b'2003-07-16 00:00:00', b'2003-07-16 23:59:59.999000'),\n",
       " (b'2003-07-17 00:00:00', b'2003-07-17 23:59:59.999000'),\n",
       " (b'2003-07-18 00:00:00', b'2003-07-18 23:59:59.999000'),\n",
       " (b'2003-07-21 00:00:00', b'2003-07-21 23:59:59.999000'),\n",
       " (b'2003-07-22 00:00:00', b'2003-07-22 23:59:59.999000'),\n",
       " (b'2003-07-23 00:00:00', b'2003-07-23 23:59:59.999000'),\n",
       " (b'2003-07-24 00:00:00', b'2003-07-24 23:59:59.999000'),\n",
       " (b'2003-07-25 00:00:00', b'2003-07-25 23:59:59.999000'),\n",
       " (b'2003-07-28 00:00:00', b'2003-07-28 23:59:59.999000'),\n",
       " (b'2003-07-29 00:00:00', b'2003-07-29 23:59:59.999000'),\n",
       " (b'2003-07-30 00:00:00', b'2003-07-30 23:59:59.999000'),\n",
       " (b'2003-07-31 00:00:00', b'2003-07-31 23:59:59.999000'),\n",
       " (b'2003-08-01 00:00:00', b'2003-08-01 23:59:59.999000'),\n",
       " (b'2003-08-04 00:00:00', b'2003-08-04 23:59:59.999000'),\n",
       " (b'2003-08-05 00:00:00', b'2003-08-05 23:59:59.999000'),\n",
       " (b'2003-08-06 00:00:00', b'2003-08-06 23:59:59.999000'),\n",
       " (b'2003-08-07 00:00:00', b'2003-08-07 23:59:59.999000'),\n",
       " (b'2003-08-08 00:00:00', b'2003-08-08 23:59:59.999000'),\n",
       " (b'2003-08-11 00:00:00', b'2003-08-11 23:59:59.999000'),\n",
       " (b'2003-08-12 00:00:00', b'2003-08-12 23:59:59.999000'),\n",
       " (b'2003-08-13 00:00:00', b'2003-08-13 23:59:59.999000'),\n",
       " (b'2003-08-14 00:00:00', b'2003-08-14 23:59:59.999000'),\n",
       " (b'2003-08-15 00:00:00', b'2003-08-15 23:59:59.999000'),\n",
       " (b'2003-08-18 00:00:00', b'2003-08-18 23:59:59.999000'),\n",
       " (b'2003-08-19 00:00:00', b'2003-08-19 23:59:59.999000'),\n",
       " (b'2003-08-20 00:00:00', b'2003-08-20 23:59:59.999000'),\n",
       " (b'2003-08-21 00:00:00', b'2003-08-21 23:59:59.999000'),\n",
       " (b'2003-08-22 00:00:00', b'2003-08-22 23:59:59.999000'),\n",
       " (b'2003-08-25 00:00:00', b'2003-08-25 23:59:59.999000'),\n",
       " (b'2003-08-26 00:00:00', b'2003-08-26 23:59:59.999000'),\n",
       " (b'2003-08-27 00:00:00', b'2003-08-27 23:59:59.999000'),\n",
       " (b'2003-08-28 00:00:00', b'2003-08-28 23:59:59.999000'),\n",
       " (b'2003-08-29 00:00:00', b'2003-08-29 23:59:59.999000'),\n",
       " (b'2003-09-01 00:00:00', b'2003-09-01 23:59:59.999000'),\n",
       " (b'2003-09-02 00:00:00', b'2003-09-02 23:59:59.999000'),\n",
       " (b'2003-09-03 00:00:00', b'2003-09-03 23:59:59.999000'),\n",
       " (b'2003-09-04 00:00:00', b'2003-09-04 23:59:59.999000'),\n",
       " (b'2003-09-05 00:00:00', b'2003-09-05 23:59:59.999000'),\n",
       " (b'2003-09-08 00:00:00', b'2003-09-08 23:59:59.999000'),\n",
       " (b'2003-09-09 00:00:00', b'2003-09-09 23:59:59.999000'),\n",
       " (b'2003-09-10 00:00:00', b'2003-09-10 23:59:59.999000'),\n",
       " (b'2003-09-11 00:00:00', b'2003-09-11 23:59:59.999000'),\n",
       " (b'2003-09-12 00:00:00', b'2003-09-12 23:59:59.999000'),\n",
       " (b'2003-09-15 00:00:00', b'2003-09-15 23:59:59.999000'),\n",
       " (b'2003-09-16 00:00:00', b'2003-09-16 23:59:59.999000'),\n",
       " (b'2003-09-17 00:00:00', b'2003-09-17 23:59:59.999000'),\n",
       " (b'2003-09-18 00:00:00', b'2003-09-18 23:59:59.999000'),\n",
       " (b'2003-09-19 00:00:00', b'2003-09-19 23:59:59.999000'),\n",
       " (b'2003-09-22 00:00:00', b'2003-09-22 23:59:59.999000'),\n",
       " (b'2003-09-23 00:00:00', b'2003-09-23 23:59:59.999000'),\n",
       " (b'2003-09-24 00:00:00', b'2003-09-24 23:59:59.999000'),\n",
       " (b'2003-09-25 00:00:00', b'2003-09-25 23:59:59.999000'),\n",
       " (b'2003-09-26 00:00:00', b'2003-09-26 23:59:59.999000'),\n",
       " (b'2003-09-29 00:00:00', b'2003-09-29 23:59:59.999000'),\n",
       " (b'2003-09-30 00:00:00', b'2003-09-30 23:59:59.999000'),\n",
       " (b'2003-10-08 00:00:00', b'2003-10-08 23:59:59.999000'),\n",
       " (b'2003-10-09 00:00:00', b'2003-10-09 23:59:59.999000'),\n",
       " (b'2003-10-10 00:00:00', b'2003-10-10 23:59:59.999000'),\n",
       " (b'2003-10-13 00:00:00', b'2003-10-13 23:59:59.999000'),\n",
       " (b'2003-10-14 00:00:00', b'2003-10-14 23:59:59.999000'),\n",
       " (b'2003-10-15 00:00:00', b'2003-10-15 23:59:59.999000'),\n",
       " (b'2003-10-16 00:00:00', b'2003-10-16 23:59:59.999000'),\n",
       " (b'2003-10-17 00:00:00', b'2003-10-17 23:59:59.999000'),\n",
       " (b'2003-10-20 00:00:00', b'2003-10-20 23:59:59.999000'),\n",
       " (b'2003-10-21 00:00:00', b'2003-10-21 23:59:59.999000'),\n",
       " (b'2003-10-22 00:00:00', b'2003-10-22 23:59:59.999000'),\n",
       " (b'2003-10-23 00:00:00', b'2003-10-23 23:59:59.999000'),\n",
       " (b'2003-10-24 00:00:00', b'2003-10-24 23:59:59.999000'),\n",
       " (b'2003-10-27 00:00:00', b'2003-10-27 23:59:59.999000'),\n",
       " (b'2003-10-28 00:00:00', b'2003-10-28 23:59:59.999000'),\n",
       " (b'2003-10-29 00:00:00', b'2003-10-29 23:59:59.999000'),\n",
       " (b'2003-10-30 00:00:00', b'2003-10-30 23:59:59.999000'),\n",
       " (b'2003-10-31 00:00:00', b'2003-10-31 23:59:59.999000'),\n",
       " (b'2003-11-03 00:00:00', b'2003-11-03 23:59:59.999000'),\n",
       " (b'2003-11-04 00:00:00', b'2003-11-04 23:59:59.999000'),\n",
       " (b'2003-11-05 00:00:00', b'2003-11-05 23:59:59.999000'),\n",
       " (b'2003-11-06 00:00:00', b'2003-11-06 23:59:59.999000'),\n",
       " (b'2003-11-07 00:00:00', b'2003-11-07 23:59:59.999000'),\n",
       " (b'2003-11-10 00:00:00', b'2003-11-10 23:59:59.999000'),\n",
       " (b'2003-11-11 00:00:00', b'2003-11-11 23:59:59.999000'),\n",
       " (b'2003-11-12 00:00:00', b'2003-11-12 23:59:59.999000'),\n",
       " (b'2003-11-13 00:00:00', b'2003-11-13 23:59:59.999000'),\n",
       " (b'2003-11-14 00:00:00', b'2003-11-14 23:59:59.999000'),\n",
       " (b'2003-11-17 00:00:00', b'2003-11-17 23:59:59.999000'),\n",
       " (b'2003-11-18 00:00:00', b'2003-11-18 23:59:59.999000'),\n",
       " (b'2003-11-19 00:00:00', b'2003-11-19 23:59:59.999000'),\n",
       " (b'2003-11-20 00:00:00', b'2003-11-20 23:59:59.999000'),\n",
       " (b'2003-11-21 00:00:00', b'2003-11-21 23:59:59.999000'),\n",
       " (b'2003-11-24 00:00:00', b'2003-11-24 23:59:59.999000'),\n",
       " (b'2003-11-25 00:00:00', b'2003-11-25 23:59:59.999000'),\n",
       " (b'2003-11-26 00:00:00', b'2003-11-26 23:59:59.999000'),\n",
       " (b'2003-11-27 00:00:00', b'2003-11-27 23:59:59.999000'),\n",
       " (b'2003-11-28 00:00:00', b'2003-11-28 23:59:59.999000'),\n",
       " (b'2003-12-02 00:00:00', b'2003-12-02 23:59:59.999000'),\n",
       " (b'2003-12-03 00:00:00', b'2003-12-03 23:59:59.999000'),\n",
       " (b'2003-12-04 00:00:00', b'2003-12-04 23:59:59.999000'),\n",
       " (b'2003-12-05 00:00:00', b'2003-12-05 23:59:59.999000'),\n",
       " (b'2003-12-08 00:00:00', b'2003-12-08 23:59:59.999000'),\n",
       " (b'2003-12-09 00:00:00', b'2003-12-09 23:59:59.999000'),\n",
       " (b'2003-12-10 00:00:00', b'2003-12-10 23:59:59.999000'),\n",
       " (b'2003-12-11 00:00:00', b'2003-12-11 23:59:59.999000'),\n",
       " (b'2003-12-12 00:00:00', b'2003-12-12 23:59:59.999000'),\n",
       " (b'2003-12-15 00:00:00', b'2003-12-15 23:59:59.999000'),\n",
       " (b'2003-12-16 00:00:00', b'2003-12-16 23:59:59.999000'),\n",
       " (b'2003-12-17 00:00:00', b'2003-12-17 23:59:59.999000'),\n",
       " (b'2003-12-18 00:00:00', b'2003-12-18 23:59:59.999000'),\n",
       " (b'2003-12-19 00:00:00', b'2003-12-19 23:59:59.999000'),\n",
       " (b'2003-12-22 00:00:00', b'2003-12-22 23:59:59.999000'),\n",
       " (b'2003-12-23 00:00:00', b'2003-12-23 23:59:59.999000'),\n",
       " (b'2003-12-24 00:00:00', b'2003-12-24 23:59:59.999000'),\n",
       " (b'2003-12-25 00:00:00', b'2003-12-25 23:59:59.999000'),\n",
       " (b'2003-12-26 00:00:00', b'2003-12-26 23:59:59.999000'),\n",
       " (b'2003-12-29 00:00:00', b'2003-12-29 23:59:59.999000'),\n",
       " (b'2003-12-30 00:00:00', b'2003-12-30 23:59:59.999000'),\n",
       " (b'2003-12-31 00:00:00', b'2003-12-31 23:59:59.999000'),\n",
       " (b'2004-01-02 00:00:00', b'2004-01-02 23:59:59.999000'),\n",
       " (b'2004-01-05 00:00:00', b'2004-01-05 23:59:59.999000'),\n",
       " (b'2004-01-06 00:00:00', b'2004-01-06 23:59:59.999000'),\n",
       " (b'2004-01-07 00:00:00', b'2004-01-07 23:59:59.999000'),\n",
       " (b'2004-01-08 00:00:00', b'2004-01-08 23:59:59.999000'),\n",
       " (b'2004-01-09 00:00:00', b'2004-01-09 23:59:59.999000'),\n",
       " (b'2004-01-12 00:00:00', b'2004-01-12 23:59:59.999000'),\n",
       " (b'2004-01-13 00:00:00', b'2004-01-13 23:59:59.999000'),\n",
       " (b'2004-01-14 00:00:00', b'2004-01-14 23:59:59.999000'),\n",
       " (b'2004-01-15 00:00:00', b'2004-01-15 23:59:59.999000'),\n",
       " (b'2004-01-16 00:00:00', b'2004-01-16 23:59:59.999000'),\n",
       " (b'2004-01-29 00:00:00', b'2004-01-29 23:59:59.999000'),\n",
       " (b'2004-01-30 00:00:00', b'2004-01-30 23:59:59.999000'),\n",
       " (b'2004-02-02 00:00:00', b'2004-02-02 23:59:59.999000'),\n",
       " (b'2004-02-03 00:00:00', b'2004-02-03 23:59:59.999000'),\n",
       " (b'2004-02-04 00:00:00', b'2004-02-04 23:59:59.999000'),\n",
       " (b'2004-02-05 00:00:00', b'2004-02-05 23:59:59.999000'),\n",
       " (b'2004-02-06 00:00:00', b'2004-02-06 23:59:59.999000'),\n",
       " (b'2004-02-09 00:00:00', b'2004-02-09 23:59:59.999000'),\n",
       " (b'2004-02-10 00:00:00', b'2004-02-10 23:59:59.999000'),\n",
       " (b'2004-02-11 00:00:00', b'2004-02-11 23:59:59.999000'),\n",
       " (b'2004-02-12 00:00:00', b'2004-02-12 23:59:59.999000'),\n",
       " (b'2004-02-13 00:00:00', b'2004-02-13 23:59:59.999000'),\n",
       " (b'2004-02-16 00:00:00', b'2004-02-16 23:59:59.999000'),\n",
       " (b'2004-02-17 00:00:00', b'2004-02-17 23:59:59.999000'),\n",
       " (b'2004-02-18 00:00:00', b'2004-02-18 23:59:59.999000'),\n",
       " (b'2004-02-19 00:00:00', b'2004-02-19 23:59:59.999000'),\n",
       " (b'2004-02-20 00:00:00', b'2004-02-20 23:59:59.999000'),\n",
       " (b'2004-02-23 00:00:00', b'2004-02-23 23:59:59.999000'),\n",
       " (b'2004-02-24 00:00:00', b'2004-02-24 23:59:59.999000'),\n",
       " (b'2004-02-25 00:00:00', b'2004-02-25 23:59:59.999000'),\n",
       " (b'2004-02-26 00:00:00', b'2004-02-26 23:59:59.999000'),\n",
       " (b'2004-02-27 00:00:00', b'2004-02-27 23:59:59.999000'),\n",
       " (b'2004-03-01 00:00:00', b'2004-03-01 23:59:59.999000'),\n",
       " (b'2004-03-02 00:00:00', b'2004-03-02 23:59:59.999000'),\n",
       " (b'2004-03-03 00:00:00', b'2004-03-03 23:59:59.999000'),\n",
       " (b'2004-03-04 00:00:00', b'2004-03-04 23:59:59.999000'),\n",
       " (b'2004-03-05 00:00:00', b'2004-03-05 23:59:59.999000'),\n",
       " (b'2004-03-08 00:00:00', b'2004-03-08 23:59:59.999000'),\n",
       " (b'2004-03-09 00:00:00', b'2004-03-09 23:59:59.999000'),\n",
       " (b'2004-03-10 00:00:00', b'2004-03-10 23:59:59.999000'),\n",
       " (b'2004-03-11 00:00:00', b'2004-03-11 23:59:59.999000'),\n",
       " (b'2004-03-12 00:00:00', b'2004-03-12 23:59:59.999000'),\n",
       " (b'2004-03-15 00:00:00', b'2004-03-15 23:59:59.999000'),\n",
       " (b'2004-03-16 00:00:00', b'2004-03-16 23:59:59.999000'),\n",
       " (b'2004-03-17 00:00:00', b'2004-03-17 23:59:59.999000'),\n",
       " (b'2004-03-18 00:00:00', b'2004-03-18 23:59:59.999000'),\n",
       " (b'2004-03-19 00:00:00', b'2004-03-19 23:59:59.999000'),\n",
       " (b'2004-03-22 00:00:00', b'2004-03-22 23:59:59.999000'),\n",
       " (b'2004-03-23 00:00:00', b'2004-03-23 23:59:59.999000'),\n",
       " (b'2004-03-24 00:00:00', b'2004-03-24 23:59:59.999000'),\n",
       " (b'2004-03-25 00:00:00', b'2004-03-25 23:59:59.999000'),\n",
       " (b'2004-03-26 00:00:00', b'2004-03-26 23:59:59.999000'),\n",
       " (b'2004-03-29 00:00:00', b'2004-03-29 23:59:59.999000'),\n",
       " (b'2004-03-30 00:00:00', b'2004-03-30 23:59:59.999000'),\n",
       " (b'2004-03-31 00:00:00', b'2004-03-31 23:59:59.999000'),\n",
       " (b'2004-04-01 00:00:00', b'2004-04-01 23:59:59.999000'),\n",
       " (b'2004-04-02 00:00:00', b'2004-04-02 23:59:59.999000'),\n",
       " (b'2004-04-05 00:00:00', b'2004-04-05 23:59:59.999000'),\n",
       " (b'2004-04-06 00:00:00', b'2004-04-06 23:59:59.999000'),\n",
       " (b'2004-04-07 00:00:00', b'2004-04-07 23:59:59.999000'),\n",
       " (b'2004-04-08 00:00:00', b'2004-04-08 23:59:59.999000'),\n",
       " (b'2004-04-09 00:00:00', b'2004-04-09 23:59:59.999000'),\n",
       " (b'2004-04-12 00:00:00', b'2004-04-12 23:59:59.999000'),\n",
       " (b'2004-04-13 00:00:00', b'2004-04-13 23:59:59.999000'),\n",
       " (b'2004-04-14 00:00:00', b'2004-04-14 23:59:59.999000'),\n",
       " (b'2004-04-15 00:00:00', b'2004-04-15 23:59:59.999000'),\n",
       " (b'2004-04-16 00:00:00', b'2004-04-16 23:59:59.999000'),\n",
       " (b'2004-04-19 00:00:00', b'2004-04-19 23:59:59.999000'),\n",
       " (b'2004-04-20 00:00:00', b'2004-04-20 23:59:59.999000'),\n",
       " (b'2004-04-21 00:00:00', b'2004-04-21 23:59:59.999000'),\n",
       " (b'2004-04-22 00:00:00', b'2004-04-22 23:59:59.999000'),\n",
       " (b'2004-04-23 00:00:00', b'2004-04-23 23:59:59.999000'),\n",
       " (b'2004-04-26 00:00:00', b'2004-04-26 23:59:59.999000'),\n",
       " (b'2004-04-27 00:00:00', b'2004-04-27 23:59:59.999000'),\n",
       " (b'2004-04-28 00:00:00', b'2004-04-28 23:59:59.999000'),\n",
       " (b'2004-04-29 00:00:00', b'2004-04-29 23:59:59.999000'),\n",
       " (b'2004-04-30 00:00:00', b'2004-04-30 23:59:59.999000'),\n",
       " (b'2004-05-10 00:00:00', b'2004-05-10 23:59:59.999000'),\n",
       " (b'2004-05-11 00:00:00', b'2004-05-11 23:59:59.999000'),\n",
       " (b'2004-05-12 00:00:00', b'2004-05-12 23:59:59.999000'),\n",
       " (b'2004-05-13 00:00:00', b'2004-05-13 23:59:59.999000'),\n",
       " (b'2004-05-14 00:00:00', b'2004-05-14 23:59:59.999000'),\n",
       " (b'2004-05-17 00:00:00', b'2004-05-17 23:59:59.999000'),\n",
       " (b'2004-05-18 00:00:00', b'2004-05-18 23:59:59.999000'),\n",
       " (b'2004-05-19 00:00:00', b'2004-05-19 23:59:59.999000'),\n",
       " (b'2004-05-20 00:00:00', b'2004-05-20 23:59:59.999000'),\n",
       " (b'2004-05-21 00:00:00', b'2004-05-21 23:59:59.999000'),\n",
       " (b'2004-05-24 00:00:00', b'2004-05-24 23:59:59.999000'),\n",
       " (b'2004-05-25 00:00:00', b'2004-05-25 23:59:59.999000'),\n",
       " (b'2004-05-26 00:00:00', b'2004-05-26 23:59:59.999000'),\n",
       " (b'2004-05-27 00:00:00', b'2004-05-27 23:59:59.999000'),\n",
       " (b'2004-05-28 00:00:00', b'2004-05-28 23:59:59.999000'),\n",
       " (b'2004-05-31 00:00:00', b'2004-05-31 23:59:59.999000'),\n",
       " (b'2004-06-01 00:00:00', b'2004-06-01 23:59:59.999000'),\n",
       " (b'2004-06-02 00:00:00', b'2004-06-02 23:59:59.999000'),\n",
       " (b'2004-06-03 00:00:00', b'2004-06-03 23:59:59.999000'),\n",
       " (b'2004-06-04 00:00:00', b'2004-06-04 23:59:59.999000'),\n",
       " (b'2004-06-07 00:00:00', b'2004-06-07 23:59:59.999000'),\n",
       " (b'2004-06-08 00:00:00', b'2004-06-08 23:59:59.999000'),\n",
       " (b'2004-06-09 00:00:00', b'2004-06-09 23:59:59.999000'),\n",
       " (b'2004-06-10 00:00:00', b'2004-06-10 23:59:59.999000'),\n",
       " (b'2004-06-11 00:00:00', b'2004-06-11 23:59:59.999000'),\n",
       " (b'2004-06-14 00:00:00', b'2004-06-14 23:59:59.999000'),\n",
       " (b'2004-06-15 00:00:00', b'2004-06-15 23:59:59.999000'),\n",
       " (b'2004-06-16 00:00:00', b'2004-06-16 23:59:59.999000'),\n",
       " (b'2004-06-17 00:00:00', b'2004-06-17 23:59:59.999000'),\n",
       " (b'2004-06-18 00:00:00', b'2004-06-18 23:59:59.999000'),\n",
       " (b'2004-06-21 00:00:00', b'2004-06-21 23:59:59.999000'),\n",
       " (b'2004-06-23 00:00:00', b'2004-06-23 23:59:59.999000'),\n",
       " (b'2004-06-24 00:00:00', b'2004-06-24 23:59:59.999000'),\n",
       " (b'2004-06-25 00:00:00', b'2004-06-25 23:59:59.999000'),\n",
       " (b'2004-06-28 00:00:00', b'2004-06-28 23:59:59.999000'),\n",
       " (b'2004-06-29 00:00:00', b'2004-06-29 23:59:59.999000'),\n",
       " (b'2004-06-30 00:00:00', b'2004-06-30 23:59:59.999000'),\n",
       " (b'2004-07-01 00:00:00', b'2004-07-01 23:59:59.999000'),\n",
       " (b'2004-07-02 00:00:00', b'2004-07-02 23:59:59.999000'),\n",
       " (b'2004-07-05 00:00:00', b'2004-07-05 23:59:59.999000'),\n",
       " (b'2004-07-06 00:00:00', b'2004-07-06 23:59:59.999000'),\n",
       " (b'2004-07-07 00:00:00', b'2004-07-07 23:59:59.999000'),\n",
       " (b'2004-07-08 00:00:00', b'2004-07-08 23:59:59.999000'),\n",
       " (b'2004-07-09 00:00:00', b'2004-07-09 23:59:59.999000'),\n",
       " (b'2004-07-12 00:00:00', b'2004-07-12 23:59:59.999000'),\n",
       " (b'2004-07-13 00:00:00', b'2004-07-13 23:59:59.999000'),\n",
       " (b'2004-07-14 00:00:00', b'2004-07-14 23:59:59.999000'),\n",
       " (b'2004-07-15 00:00:00', b'2004-07-15 23:59:59.999000'),\n",
       " (b'2004-07-16 00:00:00', b'2004-07-16 23:59:59.999000'),\n",
       " (b'2004-07-19 00:00:00', b'2004-07-19 23:59:59.999000'),\n",
       " (b'2004-07-20 00:00:00', b'2004-07-20 23:59:59.999000'),\n",
       " (b'2004-07-21 00:00:00', b'2004-07-21 23:59:59.999000'),\n",
       " (b'2004-07-22 00:00:00', b'2004-07-22 23:59:59.999000'),\n",
       " (b'2004-07-23 00:00:00', b'2004-07-23 23:59:59.999000'),\n",
       " (b'2004-07-26 00:00:00', b'2004-07-26 23:59:59.999000'),\n",
       " (b'2004-07-27 00:00:00', b'2004-07-27 23:59:59.999000'),\n",
       " (b'2004-07-28 00:00:00', b'2004-07-28 23:59:59.999000'),\n",
       " (b'2004-07-29 00:00:00', b'2004-07-29 23:59:59.999000'),\n",
       " (b'2004-07-30 00:00:00', b'2004-07-30 23:59:59.999000'),\n",
       " (b'2004-08-02 00:00:00', b'2004-08-02 23:59:59.999000'),\n",
       " (b'2004-08-03 00:00:00', b'2004-08-03 23:59:59.999000'),\n",
       " (b'2004-08-04 00:00:00', b'2004-08-04 23:59:59.999000'),\n",
       " (b'2004-08-05 00:00:00', b'2004-08-05 23:59:59.999000'),\n",
       " (b'2004-08-06 00:00:00', b'2004-08-06 23:59:59.999000'),\n",
       " (b'2004-08-09 00:00:00', b'2004-08-09 23:59:59.999000'),\n",
       " (b'2004-08-10 00:00:00', b'2004-08-10 23:59:59.999000'),\n",
       " (b'2004-08-11 00:00:00', b'2004-08-11 23:59:59.999000'),\n",
       " (b'2004-08-12 00:00:00', b'2004-08-12 23:59:59.999000'),\n",
       " (b'2004-08-13 00:00:00', b'2004-08-13 23:59:59.999000'),\n",
       " (b'2004-08-16 00:00:00', b'2004-08-16 23:59:59.999000'),\n",
       " (b'2004-08-17 00:00:00', b'2004-08-17 23:59:59.999000'),\n",
       " (b'2004-08-18 00:00:00', b'2004-08-18 23:59:59.999000'),\n",
       " (b'2004-08-19 00:00:00', b'2004-08-19 23:59:59.999000'),\n",
       " (b'2004-08-20 00:00:00', b'2004-08-20 23:59:59.999000'),\n",
       " (b'2004-08-23 00:00:00', b'2004-08-23 23:59:59.999000'),\n",
       " (b'2004-08-24 00:00:00', b'2004-08-24 23:59:59.999000'),\n",
       " (b'2004-08-25 00:00:00', b'2004-08-25 23:59:59.999000'),\n",
       " (b'2004-08-26 00:00:00', b'2004-08-26 23:59:59.999000'),\n",
       " (b'2004-08-27 00:00:00', b'2004-08-27 23:59:59.999000'),\n",
       " (b'2004-08-30 00:00:00', b'2004-08-30 23:59:59.999000'),\n",
       " (b'2004-08-31 00:00:00', b'2004-08-31 23:59:59.999000'),\n",
       " (b'2004-09-01 00:00:00', b'2004-09-01 23:59:59.999000'),\n",
       " (b'2004-09-02 00:00:00', b'2004-09-02 23:59:59.999000'),\n",
       " (b'2004-09-03 00:00:00', b'2004-09-03 23:59:59.999000'),\n",
       " (b'2004-09-06 00:00:00', b'2004-09-06 23:59:59.999000'),\n",
       " (b'2004-09-07 00:00:00', b'2004-09-07 23:59:59.999000'),\n",
       " (b'2004-09-08 00:00:00', b'2004-09-08 23:59:59.999000'),\n",
       " (b'2004-09-09 00:00:00', b'2004-09-09 23:59:59.999000'),\n",
       " (b'2004-09-10 00:00:00', b'2004-09-10 23:59:59.999000'),\n",
       " (b'2004-09-13 00:00:00', b'2004-09-13 23:59:59.999000'),\n",
       " (b'2004-09-14 00:00:00', b'2004-09-14 23:59:59.999000'),\n",
       " (b'2004-09-15 00:00:00', b'2004-09-15 23:59:59.999000'),\n",
       " (b'2004-09-16 00:00:00', b'2004-09-16 23:59:59.999000'),\n",
       " (b'2004-09-17 00:00:00', b'2004-09-17 23:59:59.999000'),\n",
       " (b'2004-09-20 00:00:00', b'2004-09-20 23:59:59.999000'),\n",
       " (b'2004-09-21 00:00:00', b'2004-09-21 23:59:59.999000'),\n",
       " (b'2004-09-22 00:00:00', b'2004-09-22 23:59:59.999000'),\n",
       " (b'2004-09-23 00:00:00', b'2004-09-23 23:59:59.999000'),\n",
       " (b'2004-09-24 00:00:00', b'2004-09-24 23:59:59.999000'),\n",
       " (b'2004-09-27 00:00:00', b'2004-09-27 23:59:59.999000'),\n",
       " (b'2004-09-28 00:00:00', b'2004-09-28 23:59:59.999000'),\n",
       " (b'2004-09-29 00:00:00', b'2004-09-29 23:59:59.999000'),\n",
       " (b'2004-09-30 00:00:00', b'2004-09-30 23:59:59.999000'),\n",
       " (b'2004-10-08 00:00:00', b'2004-10-08 23:59:59.999000'),\n",
       " (b'2004-10-11 00:00:00', b'2004-10-11 23:59:59.999000'),\n",
       " (b'2004-10-12 00:00:00', b'2004-10-12 23:59:59.999000'),\n",
       " (b'2004-10-13 00:00:00', b'2004-10-13 23:59:59.999000'),\n",
       " (b'2004-10-14 00:00:00', b'2004-10-14 23:59:59.999000'),\n",
       " (b'2004-10-15 00:00:00', b'2004-10-15 23:59:59.999000'),\n",
       " (b'2004-10-18 00:00:00', b'2004-10-18 23:59:59.999000'),\n",
       " (b'2004-10-19 00:00:00', b'2004-10-19 23:59:59.999000'),\n",
       " (b'2004-10-20 00:00:00', b'2004-10-20 23:59:59.999000'),\n",
       " (b'2004-10-21 00:00:00', b'2004-10-21 23:59:59.999000'),\n",
       " (b'2004-10-22 00:00:00', b'2004-10-22 23:59:59.999000'),\n",
       " (b'2004-10-25 00:00:00', b'2004-10-25 23:59:59.999000'),\n",
       " (b'2004-10-26 00:00:00', b'2004-10-26 23:59:59.999000'),\n",
       " (b'2004-10-27 00:00:00', b'2004-10-27 23:59:59.999000'),\n",
       " (b'2004-10-28 00:00:00', b'2004-10-28 23:59:59.999000'),\n",
       " (b'2004-10-29 00:00:00', b'2004-10-29 23:59:59.999000'),\n",
       " (b'2004-11-01 00:00:00', b'2004-11-01 23:59:59.999000'),\n",
       " (b'2004-11-02 00:00:00', b'2004-11-02 23:59:59.999000'),\n",
       " (b'2004-11-03 00:00:00', b'2004-11-03 23:59:59.999000'),\n",
       " (b'2004-11-04 00:00:00', b'2004-11-04 23:59:59.999000'),\n",
       " (b'2004-11-05 00:00:00', b'2004-11-05 23:59:59.999000'),\n",
       " (b'2004-11-08 00:00:00', b'2004-11-08 23:59:59.999000'),\n",
       " (b'2004-11-09 00:00:00', b'2004-11-09 23:59:59.999000'),\n",
       " (b'2004-11-10 00:00:00', b'2004-11-10 23:59:59.999000'),\n",
       " (b'2004-11-11 00:00:00', b'2004-11-11 23:59:59.999000'),\n",
       " (b'2004-11-12 00:00:00', b'2004-11-12 23:59:59.999000'),\n",
       " (b'2004-11-15 00:00:00', b'2004-11-15 23:59:59.999000'),\n",
       " (b'2004-11-16 00:00:00', b'2004-11-16 23:59:59.999000'),\n",
       " (b'2004-11-17 00:00:00', b'2004-11-17 23:59:59.999000'),\n",
       " (b'2004-11-18 00:00:00', b'2004-11-18 23:59:59.999000'),\n",
       " (b'2004-11-19 00:00:00', b'2004-11-19 23:59:59.999000'),\n",
       " (b'2004-11-22 00:00:00', b'2004-11-22 23:59:59.999000'),\n",
       " (b'2004-11-23 00:00:00', b'2004-11-23 23:59:59.999000'),\n",
       " (b'2004-11-24 00:00:00', b'2004-11-24 23:59:59.999000'),\n",
       " (b'2004-11-25 00:00:00', b'2004-11-25 23:59:59.999000'),\n",
       " (b'2004-11-26 00:00:00', b'2004-11-26 23:59:59.999000'),\n",
       " (b'2004-11-29 00:00:00', b'2004-11-29 23:59:59.999000'),\n",
       " (b'2004-11-30 00:00:00', b'2004-11-30 23:59:59.999000'),\n",
       " (b'2004-12-01 00:00:00', b'2004-12-01 23:59:59.999000'),\n",
       " (b'2004-12-02 00:00:00', b'2004-12-02 23:59:59.999000'),\n",
       " (b'2004-12-03 00:00:00', b'2004-12-03 23:59:59.999000'),\n",
       " (b'2004-12-06 00:00:00', b'2004-12-06 23:59:59.999000'),\n",
       " (b'2004-12-07 00:00:00', b'2004-12-07 23:59:59.999000'),\n",
       " (b'2004-12-08 00:00:00', b'2004-12-08 23:59:59.999000'),\n",
       " (b'2004-12-09 00:00:00', b'2004-12-09 23:59:59.999000'),\n",
       " (b'2004-12-10 00:00:00', b'2004-12-10 23:59:59.999000'),\n",
       " (b'2004-12-13 00:00:00', b'2004-12-13 23:59:59.999000'),\n",
       " (b'2004-12-14 00:00:00', b'2004-12-14 23:59:59.999000'),\n",
       " (b'2004-12-15 00:00:00', b'2004-12-15 23:59:59.999000'),\n",
       " (b'2004-12-16 00:00:00', b'2004-12-16 23:59:59.999000'),\n",
       " (b'2004-12-17 00:00:00', b'2004-12-17 23:59:59.999000'),\n",
       " (b'2004-12-20 00:00:00', b'2004-12-20 23:59:59.999000'),\n",
       " (b'2004-12-21 00:00:00', b'2004-12-21 23:59:59.999000'),\n",
       " (b'2004-12-22 00:00:00', b'2004-12-22 23:59:59.999000'),\n",
       " (b'2004-12-23 00:00:00', b'2004-12-23 23:59:59.999000'),\n",
       " (b'2004-12-24 00:00:00', b'2004-12-24 23:59:59.999000'),\n",
       " (b'2004-12-27 00:00:00', b'2004-12-27 23:59:59.999000'),\n",
       " (b'2004-12-28 00:00:00', b'2004-12-28 23:59:59.999000'),\n",
       " (b'2004-12-29 00:00:00', b'2004-12-29 23:59:59.999000'),\n",
       " (b'2004-12-30 00:00:00', b'2004-12-30 23:59:59.999000'),\n",
       " (b'2004-12-31 00:00:00', b'2004-12-31 23:59:59.999000'),\n",
       " (b'2005-01-04 00:00:00', b'2005-01-04 23:59:59.999000'),\n",
       " (b'2005-01-05 00:00:00', b'2005-01-05 23:59:59.999000'),\n",
       " (b'2005-01-06 00:00:00', b'2005-01-06 23:59:59.999000'),\n",
       " (b'2005-01-07 00:00:00', b'2005-01-07 23:59:59.999000'),\n",
       " (b'2005-01-10 00:00:00', b'2005-01-10 23:59:59.999000'),\n",
       " (b'2005-01-11 00:00:00', b'2005-01-11 23:59:59.999000'),\n",
       " (b'2005-01-12 00:00:00', b'2005-01-12 23:59:59.999000'),\n",
       " (b'2005-01-13 00:00:00', b'2005-01-13 23:59:59.999000'),\n",
       " (b'2005-01-14 00:00:00', b'2005-01-14 23:59:59.999000'),\n",
       " (b'2005-01-17 00:00:00', b'2005-01-17 23:59:59.999000'),\n",
       " (b'2005-01-18 00:00:00', b'2005-01-18 23:59:59.999000'),\n",
       " (b'2005-01-19 00:00:00', b'2005-01-19 23:59:59.999000'),\n",
       " (b'2005-01-20 00:00:00', b'2005-01-20 23:59:59.999000'),\n",
       " (b'2005-01-21 00:00:00', b'2005-01-21 23:59:59.999000'),\n",
       " (b'2005-01-24 00:00:00', b'2005-01-24 23:59:59.999000'),\n",
       " (b'2005-01-25 00:00:00', b'2005-01-25 23:59:59.999000'),\n",
       " (b'2005-01-26 00:00:00', b'2005-01-26 23:59:59.999000'),\n",
       " (b'2005-01-27 00:00:00', b'2005-01-27 23:59:59.999000'),\n",
       " (b'2005-01-28 00:00:00', b'2005-01-28 23:59:59.999000'),\n",
       " (b'2005-01-31 00:00:00', b'2005-01-31 23:59:59.999000'),\n",
       " (b'2005-02-01 00:00:00', b'2005-02-01 23:59:59.999000'),\n",
       " (b'2005-02-02 00:00:00', b'2005-02-02 23:59:59.999000'),\n",
       " (b'2005-02-03 00:00:00', b'2005-02-03 23:59:59.999000'),\n",
       " (b'2005-02-04 00:00:00', b'2005-02-04 23:59:59.999000'),\n",
       " (b'2005-02-16 00:00:00', b'2005-02-16 23:59:59.999000'),\n",
       " (b'2005-02-17 00:00:00', b'2005-02-17 23:59:59.999000'),\n",
       " (b'2005-02-18 00:00:00', b'2005-02-18 23:59:59.999000'),\n",
       " (b'2005-02-21 00:00:00', b'2005-02-21 23:59:59.999000'),\n",
       " (b'2005-02-22 00:00:00', b'2005-02-22 23:59:59.999000'),\n",
       " (b'2005-02-23 00:00:00', b'2005-02-23 23:59:59.999000'),\n",
       " (b'2005-02-24 00:00:00', b'2005-02-24 23:59:59.999000'),\n",
       " (b'2005-02-25 00:00:00', b'2005-02-25 23:59:59.999000'),\n",
       " (b'2005-02-28 00:00:00', b'2005-02-28 23:59:59.999000'),\n",
       " (b'2005-03-01 00:00:00', b'2005-03-01 23:59:59.999000'),\n",
       " (b'2005-03-02 00:00:00', b'2005-03-02 23:59:59.999000'),\n",
       " (b'2005-03-03 00:00:00', b'2005-03-03 23:59:59.999000'),\n",
       " (b'2005-03-04 00:00:00', b'2005-03-04 23:59:59.999000'),\n",
       " (b'2005-03-07 00:00:00', b'2005-03-07 23:59:59.999000'),\n",
       " (b'2005-03-08 00:00:00', b'2005-03-08 23:59:59.999000'),\n",
       " (b'2005-03-09 00:00:00', b'2005-03-09 23:59:59.999000'),\n",
       " (b'2005-03-10 00:00:00', b'2005-03-10 23:59:59.999000'),\n",
       " (b'2005-03-11 00:00:00', b'2005-03-11 23:59:59.999000'),\n",
       " (b'2005-03-14 00:00:00', b'2005-03-14 23:59:59.999000'),\n",
       " (b'2005-03-15 00:00:00', b'2005-03-15 23:59:59.999000'),\n",
       " (b'2005-03-16 00:00:00', b'2005-03-16 23:59:59.999000'),\n",
       " (b'2005-03-17 00:00:00', b'2005-03-17 23:59:59.999000'),\n",
       " (b'2005-03-18 00:00:00', b'2005-03-18 23:59:59.999000'),\n",
       " (b'2005-03-21 00:00:00', b'2005-03-21 23:59:59.999000'),\n",
       " (b'2005-03-22 00:00:00', b'2005-03-22 23:59:59.999000'),\n",
       " (b'2005-03-23 00:00:00', b'2005-03-23 23:59:59.999000'),\n",
       " (b'2005-03-24 00:00:00', b'2005-03-24 23:59:59.999000'),\n",
       " (b'2005-03-25 00:00:00', b'2005-03-25 23:59:59.999000'),\n",
       " (b'2005-03-28 00:00:00', b'2005-03-28 23:59:59.999000'),\n",
       " (b'2005-03-29 00:00:00', b'2005-03-29 23:59:59.999000'),\n",
       " (b'2005-03-30 00:00:00', b'2005-03-30 23:59:59.999000'),\n",
       " (b'2005-03-31 00:00:00', b'2005-03-31 23:59:59.999000'),\n",
       " (b'2005-04-01 00:00:00', b'2005-04-01 23:59:59.999000'),\n",
       " (b'2005-04-04 00:00:00', b'2005-04-04 23:59:59.999000'),\n",
       " (b'2005-04-05 00:00:00', b'2005-04-05 23:59:59.999000'),\n",
       " (b'2005-04-06 00:00:00', b'2005-04-06 23:59:59.999000'),\n",
       " (b'2005-04-07 00:00:00', b'2005-04-07 23:59:59.999000'),\n",
       " (b'2005-04-08 00:00:00', b'2005-04-08 23:59:59.999000'),\n",
       " (b'2005-04-11 00:00:00', b'2005-04-11 23:59:59.999000'),\n",
       " (b'2005-04-12 00:00:00', b'2005-04-12 23:59:59.999000'),\n",
       " (b'2005-04-13 00:00:00', b'2005-04-13 23:59:59.999000'),\n",
       " (b'2005-04-14 00:00:00', b'2005-04-14 23:59:59.999000'),\n",
       " (b'2005-04-15 00:00:00', b'2005-04-15 23:59:59.999000'),\n",
       " (b'2005-04-18 00:00:00', b'2005-04-18 23:59:59.999000'),\n",
       " (b'2005-04-19 00:00:00', b'2005-04-19 23:59:59.999000'),\n",
       " (b'2005-04-20 00:00:00', b'2005-04-20 23:59:59.999000'),\n",
       " (b'2005-04-21 00:00:00', b'2005-04-21 23:59:59.999000'),\n",
       " (b'2005-04-22 00:00:00', b'2005-04-22 23:59:59.999000'),\n",
       " (b'2005-04-25 00:00:00', b'2005-04-25 23:59:59.999000'),\n",
       " (b'2005-04-26 00:00:00', b'2005-04-26 23:59:59.999000'),\n",
       " (b'2005-04-27 00:00:00', b'2005-04-27 23:59:59.999000'),\n",
       " (b'2005-04-28 00:00:00', b'2005-04-28 23:59:59.999000'),\n",
       " (b'2005-04-29 00:00:00', b'2005-04-29 23:59:59.999000'),\n",
       " (b'2005-05-09 00:00:00', b'2005-05-09 23:59:59.999000'),\n",
       " (b'2005-05-10 00:00:00', b'2005-05-10 23:59:59.999000'),\n",
       " (b'2005-05-11 00:00:00', b'2005-05-11 23:59:59.999000'),\n",
       " (b'2005-05-12 00:00:00', b'2005-05-12 23:59:59.999000'),\n",
       " (b'2005-05-13 00:00:00', b'2005-05-13 23:59:59.999000'),\n",
       " (b'2005-05-16 00:00:00', b'2005-05-16 23:59:59.999000'),\n",
       " (b'2005-05-17 00:00:00', b'2005-05-17 23:59:59.999000'),\n",
       " (b'2005-05-18 00:00:00', b'2005-05-18 23:59:59.999000'),\n",
       " (b'2005-05-19 00:00:00', b'2005-05-19 23:59:59.999000'),\n",
       " (b'2005-05-20 00:00:00', b'2005-05-20 23:59:59.999000'),\n",
       " (b'2005-05-23 00:00:00', b'2005-05-23 23:59:59.999000'),\n",
       " (b'2005-05-24 00:00:00', b'2005-05-24 23:59:59.999000'),\n",
       " (b'2005-05-25 00:00:00', b'2005-05-25 23:59:59.999000'),\n",
       " (b'2005-05-26 00:00:00', b'2005-05-26 23:59:59.999000'),\n",
       " (b'2005-05-27 00:00:00', b'2005-05-27 23:59:59.999000'),\n",
       " (b'2005-05-30 00:00:00', b'2005-05-30 23:59:59.999000'),\n",
       " (b'2005-05-31 00:00:00', b'2005-05-31 23:59:59.999000'),\n",
       " (b'2005-06-01 00:00:00', b'2005-06-01 23:59:59.999000'),\n",
       " (b'2005-06-02 00:00:00', b'2005-06-02 23:59:59.999000'),\n",
       " (b'2005-06-03 00:00:00', b'2005-06-03 23:59:59.999000'),\n",
       " (b'2005-06-06 00:00:00', b'2005-06-06 23:59:59.999000'),\n",
       " (b'2005-06-07 00:00:00', b'2005-06-07 23:59:59.999000'),\n",
       " (b'2005-06-08 00:00:00', b'2005-06-08 23:59:59.999000'),\n",
       " (b'2005-06-09 00:00:00', b'2005-06-09 23:59:59.999000'),\n",
       " (b'2005-06-10 00:00:00', b'2005-06-10 23:59:59.999000'),\n",
       " (b'2005-06-13 00:00:00', b'2005-06-13 23:59:59.999000'),\n",
       " (b'2005-06-14 00:00:00', b'2005-06-14 23:59:59.999000'),\n",
       " (b'2005-06-15 00:00:00', b'2005-06-15 23:59:59.999000'),\n",
       " (b'2005-06-16 00:00:00', b'2005-06-16 23:59:59.999000'),\n",
       " (b'2005-06-17 00:00:00', b'2005-06-17 23:59:59.999000'),\n",
       " (b'2005-06-20 00:00:00', b'2005-06-20 23:59:59.999000'),\n",
       " (b'2005-06-21 00:00:00', b'2005-06-21 23:59:59.999000'),\n",
       " (b'2005-06-22 00:00:00', b'2005-06-22 23:59:59.999000'),\n",
       " (b'2005-06-23 00:00:00', b'2005-06-23 23:59:59.999000'),\n",
       " (b'2005-06-24 00:00:00', b'2005-06-24 23:59:59.999000'),\n",
       " (b'2005-06-28 00:00:00', b'2005-06-28 23:59:59.999000'),\n",
       " (b'2005-06-29 00:00:00', b'2005-06-29 23:59:59.999000'),\n",
       " (b'2005-06-30 00:00:00', b'2005-06-30 23:59:59.999000'),\n",
       " (b'2005-07-01 00:00:00', b'2005-07-01 23:59:59.999000'),\n",
       " (b'2005-07-04 00:00:00', b'2005-07-04 23:59:59.999000'),\n",
       " (b'2005-07-05 00:00:00', b'2005-07-05 23:59:59.999000'),\n",
       " (b'2005-07-06 00:00:00', b'2005-07-06 23:59:59.999000'),\n",
       " (b'2005-07-07 00:00:00', b'2005-07-07 23:59:59.999000'),\n",
       " (b'2005-07-08 00:00:00', b'2005-07-08 23:59:59.999000'),\n",
       " (b'2005-07-11 00:00:00', b'2005-07-11 23:59:59.999000'),\n",
       " (b'2005-07-12 00:00:00', b'2005-07-12 23:59:59.999000'),\n",
       " (b'2005-07-13 00:00:00', b'2005-07-13 23:59:59.999000'),\n",
       " (b'2005-07-14 00:00:00', b'2005-07-14 23:59:59.999000'),\n",
       " (b'2005-07-15 00:00:00', b'2005-07-15 23:59:59.999000'),\n",
       " (b'2005-07-18 00:00:00', b'2005-07-18 23:59:59.999000'),\n",
       " (b'2005-07-19 00:00:00', b'2005-07-19 23:59:59.999000'),\n",
       " (b'2005-07-20 00:00:00', b'2005-07-20 23:59:59.999000'),\n",
       " (b'2005-07-21 00:00:00', b'2005-07-21 23:59:59.999000'),\n",
       " (b'2005-07-22 00:00:00', b'2005-07-22 23:59:59.999000'),\n",
       " (b'2005-07-25 00:00:00', b'2005-07-25 23:59:59.999000'),\n",
       " (b'2005-07-26 00:00:00', b'2005-07-26 23:59:59.999000'),\n",
       " (b'2005-07-27 00:00:00', b'2005-07-27 23:59:59.999000'),\n",
       " (b'2005-07-28 00:00:00', b'2005-07-28 23:59:59.999000'),\n",
       " (b'2005-07-29 00:00:00', b'2005-07-29 23:59:59.999000'),\n",
       " (b'2005-08-01 00:00:00', b'2005-08-01 23:59:59.999000'),\n",
       " (b'2005-08-02 00:00:00', b'2005-08-02 23:59:59.999000'),\n",
       " (b'2005-08-03 00:00:00', b'2005-08-03 23:59:59.999000'),\n",
       " (b'2005-08-04 00:00:00', b'2005-08-04 23:59:59.999000'),\n",
       " (b'2005-08-05 00:00:00', b'2005-08-05 23:59:59.999000'),\n",
       " (b'2005-08-08 00:00:00', b'2005-08-08 23:59:59.999000'),\n",
       " (b'2005-08-09 00:00:00', b'2005-08-09 23:59:59.999000'),\n",
       " (b'2005-08-10 00:00:00', b'2005-08-10 23:59:59.999000'),\n",
       " (b'2005-08-11 00:00:00', b'2005-08-11 23:59:59.999000'),\n",
       " (b'2005-08-12 00:00:00', b'2005-08-12 23:59:59.999000'),\n",
       " (b'2005-08-15 00:00:00', b'2005-08-15 23:59:59.999000'),\n",
       " (b'2005-08-16 00:00:00', b'2005-08-16 23:59:59.999000'),\n",
       " (b'2005-08-17 00:00:00', b'2005-08-17 23:59:59.999000'),\n",
       " (b'2005-08-18 00:00:00', b'2005-08-18 23:59:59.999000'),\n",
       " (b'2005-08-19 00:00:00', b'2005-08-19 23:59:59.999000'),\n",
       " (b'2005-08-22 00:00:00', b'2005-08-22 23:59:59.999000'),\n",
       " (b'2005-08-23 00:00:00', b'2005-08-23 23:59:59.999000'),\n",
       " (b'2005-08-24 00:00:00', b'2005-08-24 23:59:59.999000'),\n",
       " (b'2005-08-25 00:00:00', b'2005-08-25 23:59:59.999000'),\n",
       " (b'2005-08-26 00:00:00', b'2005-08-26 23:59:59.999000'),\n",
       " (b'2005-08-29 00:00:00', b'2005-08-29 23:59:59.999000'),\n",
       " (b'2005-08-30 00:00:00', b'2005-08-30 23:59:59.999000'),\n",
       " (b'2005-08-31 00:00:00', b'2005-08-31 23:59:59.999000'),\n",
       " (b'2005-09-01 00:00:00', b'2005-09-01 23:59:59.999000'),\n",
       " (b'2005-09-02 00:00:00', b'2005-09-02 23:59:59.999000'),\n",
       " (b'2005-09-05 00:00:00', b'2005-09-05 23:59:59.999000'),\n",
       " (b'2005-09-06 00:00:00', b'2005-09-06 23:59:59.999000'),\n",
       " (b'2005-09-07 00:00:00', b'2005-09-07 23:59:59.999000'),\n",
       " (b'2005-09-08 00:00:00', b'2005-09-08 23:59:59.999000'),\n",
       " (b'2005-09-09 00:00:00', b'2005-09-09 23:59:59.999000'),\n",
       " (b'2005-09-12 00:00:00', b'2005-09-12 23:59:59.999000'),\n",
       " (b'2005-09-13 00:00:00', b'2005-09-13 23:59:59.999000'),\n",
       " (b'2005-09-14 00:00:00', b'2005-09-14 23:59:59.999000'),\n",
       " (b'2005-09-15 00:00:00', b'2005-09-15 23:59:59.999000'),\n",
       " (b'2005-09-16 00:00:00', b'2005-09-16 23:59:59.999000'),\n",
       " (b'2005-09-19 00:00:00', b'2005-09-19 23:59:59.999000'),\n",
       " (b'2005-09-20 00:00:00', b'2005-09-20 23:59:59.999000'),\n",
       " (b'2005-09-21 00:00:00', b'2005-09-21 23:59:59.999000'),\n",
       " (b'2005-09-22 00:00:00', b'2005-09-22 23:59:59.999000'),\n",
       " (b'2005-09-23 00:00:00', b'2005-09-23 23:59:59.999000'),\n",
       " (b'2005-09-26 00:00:00', b'2005-09-26 23:59:59.999000'),\n",
       " (b'2005-09-27 00:00:00', b'2005-09-27 23:59:59.999000'),\n",
       " (b'2005-09-28 00:00:00', b'2005-09-28 23:59:59.999000'),\n",
       " (b'2005-09-29 00:00:00', b'2005-09-29 23:59:59.999000'),\n",
       " (b'2005-09-30 00:00:00', b'2005-09-30 23:59:59.999000'),\n",
       " (b'2005-10-10 00:00:00', b'2005-10-10 23:59:59.999000'),\n",
       " (b'2005-10-11 00:00:00', b'2005-10-11 23:59:59.999000'),\n",
       " (b'2005-10-12 00:00:00', b'2005-10-12 23:59:59.999000'),\n",
       " (b'2005-10-13 00:00:00', b'2005-10-13 23:59:59.999000'),\n",
       " (b'2005-10-14 00:00:00', b'2005-10-14 23:59:59.999000'),\n",
       " (b'2005-10-17 00:00:00', b'2005-10-17 23:59:59.999000'),\n",
       " (b'2005-10-18 00:00:00', b'2005-10-18 23:59:59.999000'),\n",
       " (b'2005-10-19 00:00:00', b'2005-10-19 23:59:59.999000'),\n",
       " (b'2005-10-20 00:00:00', b'2005-10-20 23:59:59.999000'),\n",
       " (b'2005-10-21 00:00:00', b'2005-10-21 23:59:59.999000'),\n",
       " (b'2005-10-24 00:00:00', b'2005-10-24 23:59:59.999000'),\n",
       " (b'2005-10-25 00:00:00', b'2005-10-25 23:59:59.999000'),\n",
       " (b'2005-10-26 00:00:00', b'2005-10-26 23:59:59.999000'),\n",
       " (b'2005-10-27 00:00:00', b'2005-10-27 23:59:59.999000'),\n",
       " (b'2005-10-28 00:00:00', b'2005-10-28 23:59:59.999000'),\n",
       " (b'2005-10-31 00:00:00', b'2005-10-31 23:59:59.999000'),\n",
       " (b'2005-11-01 00:00:00', b'2005-11-01 23:59:59.999000'),\n",
       " (b'2005-11-02 00:00:00', b'2005-11-02 23:59:59.999000'),\n",
       " (b'2005-11-03 00:00:00', b'2005-11-03 23:59:59.999000'),\n",
       " (b'2005-11-04 00:00:00', b'2005-11-04 23:59:59.999000'),\n",
       " (b'2005-11-07 00:00:00', b'2005-11-07 23:59:59.999000'),\n",
       " (b'2005-11-08 00:00:00', b'2005-11-08 23:59:59.999000'),\n",
       " (b'2005-11-09 00:00:00', b'2005-11-09 23:59:59.999000'),\n",
       " (b'2005-11-10 00:00:00', b'2005-11-10 23:59:59.999000'),\n",
       " (b'2005-11-11 00:00:00', b'2005-11-11 23:59:59.999000'),\n",
       " (b'2005-11-14 00:00:00', b'2005-11-14 23:59:59.999000'),\n",
       " (b'2005-11-15 00:00:00', b'2005-11-15 23:59:59.999000'),\n",
       " (b'2005-11-16 00:00:00', b'2005-11-16 23:59:59.999000'),\n",
       " (b'2005-11-17 00:00:00', b'2005-11-17 23:59:59.999000'),\n",
       " (b'2005-11-18 00:00:00', b'2005-11-18 23:59:59.999000'),\n",
       " (b'2005-11-21 00:00:00', b'2005-11-21 23:59:59.999000'),\n",
       " (b'2005-11-22 00:00:00', b'2005-11-22 23:59:59.999000'),\n",
       " (b'2005-11-23 00:00:00', b'2005-11-23 23:59:59.999000'),\n",
       " (b'2005-11-24 00:00:00', b'2005-11-24 23:59:59.999000'),\n",
       " (b'2005-11-25 00:00:00', b'2005-11-25 23:59:59.999000'),\n",
       " (b'2005-11-28 00:00:00', b'2005-11-28 23:59:59.999000'),\n",
       " (b'2005-11-29 00:00:00', b'2005-11-29 23:59:59.999000'),\n",
       " (b'2005-11-30 00:00:00', b'2005-11-30 23:59:59.999000'),\n",
       " (b'2005-12-01 00:00:00', b'2005-12-01 23:59:59.999000'),\n",
       " (b'2005-12-02 00:00:00', b'2005-12-02 23:59:59.999000'),\n",
       " (b'2005-12-05 00:00:00', b'2005-12-05 23:59:59.999000'),\n",
       " (b'2005-12-06 00:00:00', b'2005-12-06 23:59:59.999000'),\n",
       " (b'2005-12-07 00:00:00', b'2005-12-07 23:59:59.999000'),\n",
       " (b'2005-12-08 00:00:00', b'2005-12-08 23:59:59.999000'),\n",
       " (b'2005-12-09 00:00:00', b'2005-12-09 23:59:59.999000'),\n",
       " (b'2005-12-12 00:00:00', b'2005-12-12 23:59:59.999000'),\n",
       " (b'2005-12-13 00:00:00', b'2005-12-13 23:59:59.999000'),\n",
       " (b'2005-12-14 00:00:00', b'2005-12-14 23:59:59.999000'),\n",
       " (b'2005-12-15 00:00:00', b'2005-12-15 23:59:59.999000'),\n",
       " (b'2005-12-16 00:00:00', b'2005-12-16 23:59:59.999000'),\n",
       " (b'2005-12-19 00:00:00', b'2005-12-19 23:59:59.999000'),\n",
       " (b'2005-12-20 00:00:00', b'2005-12-20 23:59:59.999000'),\n",
       " (b'2005-12-21 00:00:00', b'2005-12-21 23:59:59.999000'),\n",
       " (b'2005-12-22 00:00:00', b'2005-12-22 23:59:59.999000'),\n",
       " (b'2005-12-23 00:00:00', b'2005-12-23 23:59:59.999000'),\n",
       " (b'2005-12-27 00:00:00', b'2005-12-27 23:59:59.999000'),\n",
       " (b'2005-12-28 00:00:00', b'2005-12-28 23:59:59.999000'),\n",
       " (b'2005-12-29 00:00:00', b'2005-12-29 23:59:59.999000'),\n",
       " (b'2005-12-30 00:00:00', b'2005-12-30 23:59:59.999000'),\n",
       " (b'2006-01-12 00:00:00', b'2006-01-12 23:59:59.999000'),\n",
       " (b'2006-01-13 00:00:00', b'2006-01-13 23:59:59.999000'),\n",
       " (b'2006-01-16 00:00:00', b'2006-01-16 23:59:59.999000'),\n",
       " (b'2006-01-17 00:00:00', b'2006-01-17 23:59:59.999000'),\n",
       " (b'2006-01-18 00:00:00', b'2006-01-18 23:59:59.999000'),\n",
       " (b'2006-01-19 00:00:00', b'2006-01-19 23:59:59.999000'),\n",
       " (b'2006-01-20 00:00:00', b'2006-01-20 23:59:59.999000'),\n",
       " (b'2006-01-23 00:00:00', b'2006-01-23 23:59:59.999000'),\n",
       " (b'2006-01-24 00:00:00', b'2006-01-24 23:59:59.999000'),\n",
       " (b'2006-01-25 00:00:00', b'2006-01-25 23:59:59.999000'),\n",
       " (b'2006-02-06 00:00:00', b'2006-02-06 23:59:59.999000'),\n",
       " (b'2006-02-07 00:00:00', b'2006-02-07 23:59:59.999000'),\n",
       " (b'2006-02-08 00:00:00', b'2006-02-08 23:59:59.999000'),\n",
       " (b'2006-02-09 00:00:00', b'2006-02-09 23:59:59.999000'),\n",
       " (b'2006-03-15 00:00:00', b'2006-03-15 23:59:59.999000'),\n",
       " (b'2006-03-16 00:00:00', b'2006-03-16 23:59:59.999000'),\n",
       " (b'2006-03-17 00:00:00', b'2006-03-17 23:59:59.999000'),\n",
       " (b'2006-03-20 00:00:00', b'2006-03-20 23:59:59.999000'),\n",
       " (b'2006-03-21 00:00:00', b'2006-03-21 23:59:59.999000'),\n",
       " (b'2006-03-22 00:00:00', b'2006-03-22 23:59:59.999000'),\n",
       " (b'2006-03-23 00:00:00', b'2006-03-23 23:59:59.999000'),\n",
       " (b'2006-03-24 00:00:00', b'2006-03-24 23:59:59.999000'),\n",
       " (b'2006-03-27 00:00:00', b'2006-03-27 23:59:59.999000'),\n",
       " (b'2006-03-28 00:00:00', b'2006-03-28 23:59:59.999000'),\n",
       " (b'2006-03-29 00:00:00', b'2006-03-29 23:59:59.999000'),\n",
       " (b'2006-03-30 00:00:00', b'2006-03-30 23:59:59.999000'),\n",
       " (b'2006-03-31 00:00:00', b'2006-03-31 23:59:59.999000'),\n",
       " (b'2006-04-03 00:00:00', b'2006-04-03 23:59:59.999000'),\n",
       " (b'2006-04-04 00:00:00', b'2006-04-04 23:59:59.999000'),\n",
       " (b'2006-04-05 00:00:00', b'2006-04-05 23:59:59.999000'),\n",
       " (b'2006-04-06 00:00:00', b'2006-04-06 23:59:59.999000'),\n",
       " (b'2006-04-07 00:00:00', b'2006-04-07 23:59:59.999000'),\n",
       " (b'2006-04-10 00:00:00', b'2006-04-10 23:59:59.999000'),\n",
       " (b'2006-04-11 00:00:00', b'2006-04-11 23:59:59.999000'),\n",
       " (b'2006-04-12 00:00:00', b'2006-04-12 23:59:59.999000'),\n",
       " (b'2006-04-13 00:00:00', b'2006-04-13 23:59:59.999000'),\n",
       " (b'2006-04-14 00:00:00', b'2006-04-14 23:59:59.999000'),\n",
       " (b'2006-04-17 00:00:00', b'2006-04-17 23:59:59.999000'),\n",
       " (b'2006-04-18 00:00:00', b'2006-04-18 23:59:59.999000'),\n",
       " (b'2006-04-19 00:00:00', b'2006-04-19 23:59:59.999000'),\n",
       " (b'2006-04-20 00:00:00', b'2006-04-20 23:59:59.999000'),\n",
       " (b'2006-04-21 00:00:00', b'2006-04-21 23:59:59.999000'),\n",
       " (b'2006-04-24 00:00:00', b'2006-04-24 23:59:59.999000'),\n",
       " (b'2006-04-25 00:00:00', b'2006-04-25 23:59:59.999000'),\n",
       " (b'2006-04-26 00:00:00', b'2006-04-26 23:59:59.999000'),\n",
       " (b'2006-04-27 00:00:00', b'2006-04-27 23:59:59.999000'),\n",
       " (b'2006-04-28 00:00:00', b'2006-04-28 23:59:59.999000'),\n",
       " (b'2006-05-08 00:00:00', b'2006-05-08 23:59:59.999000'),\n",
       " (b'2006-05-09 00:00:00', b'2006-05-09 23:59:59.999000'),\n",
       " (b'2006-05-10 00:00:00', b'2006-05-10 23:59:59.999000'),\n",
       " (b'2006-05-11 00:00:00', b'2006-05-11 23:59:59.999000'),\n",
       " (b'2006-05-12 00:00:00', b'2006-05-12 23:59:59.999000'),\n",
       " (b'2006-05-15 00:00:00', b'2006-05-15 23:59:59.999000'),\n",
       " (b'2006-05-16 00:00:00', b'2006-05-16 23:59:59.999000'),\n",
       " (b'2006-05-17 00:00:00', b'2006-05-17 23:59:59.999000'),\n",
       " (b'2006-05-18 00:00:00', b'2006-05-18 23:59:59.999000'),\n",
       " (b'2006-05-19 00:00:00', b'2006-05-19 23:59:59.999000'),\n",
       " (b'2006-05-22 00:00:00', b'2006-05-22 23:59:59.999000'),\n",
       " (b'2006-05-23 00:00:00', b'2006-05-23 23:59:59.999000'),\n",
       " (b'2006-05-24 00:00:00', b'2006-05-24 23:59:59.999000'),\n",
       " (b'2006-05-25 00:00:00', b'2006-05-25 23:59:59.999000'),\n",
       " (b'2006-05-26 00:00:00', b'2006-05-26 23:59:59.999000'),\n",
       " (b'2006-05-29 00:00:00', b'2006-05-29 23:59:59.999000'),\n",
       " (b'2006-05-30 00:00:00', b'2006-05-30 23:59:59.999000'),\n",
       " (b'2006-05-31 00:00:00', b'2006-05-31 23:59:59.999000'),\n",
       " (b'2006-06-01 00:00:00', b'2006-06-01 23:59:59.999000'),\n",
       " (b'2006-06-02 00:00:00', b'2006-06-02 23:59:59.999000'),\n",
       " ...]"
      ]
     },
     "execution_count": 178,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(lib_stock.get_chunk_ranges('600185.SH'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "a31b3ae5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='date'>"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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/nrxxRe1a9cubdmyRT179tSECRNUWlrazpUCF9jtdt15552aN2+eBg8ebHQ5gCQpMzNTFotFAwYM0P333+9cPw9oC9/2/X3gwAGNGTNG8fHxyszM1M6dO/XYY4+pU6dOTXoft1om4cYbb9SNN9542dd/8pOfNHr++9//Xn/961+1c+dO3XDDDW1dHnBJixYtko+Pjx544AGjSwEkNbSepk2bpl69eunAgQNasGCBbrzxRm3dulXe3t5GlwcP9G3f348++qhuuukmPfvss85tffr0afL7uNWZmqaora3Vyy+/LLPZrGHDhhldDjqo7du36w9/+INee+01mUwmo8sBJEk/+tGPNHnyZA0ZMkQpKSlau3atPv/8c2VmZhpdGjogu92udevWqX///po4caIsFouuvfbaK066uByPCzVr165VUFCQOnXqpOeff14bNmxQ165djS4LHdTHH3+skpISxcXFycfHRz4+Pjpy5IgefPBB9ezZ0+jyAElS79691bVrV+Xl5RldCjqgkpISVVRU6JlnntGkSZP0wQcfaOrUqZo2bZqysrKaNJZbtZ+uxrhx45Sdna2ysjK98sor+uEPf6hPP/1UFovF6NLQAd15550aP358o20TJ07UnXfeqbvvvtugqoDGjh07phMnTig6OtroUtAB2e12SdKUKVM0Z84cSVJiYqL+/e9/a+nSpbr++uuveiyPCzWBgYHq27ev+vbtq5EjR6pfv37661//qvnz5xtdGjxURUVFo99wDx06pOzsbIWFhSkuLk7h4eGN9vf19VVUVJQGDBjQ3qWig7jSz2RYWJgWLlyo6dOnKyoqSgcOHNBDDz2kvn37auLEiQZWjY6qa9eu8vHx0aBBgxptHzhwoLZs2dKksTwu1Pwnu92umpoao8uAB/viiy80btw45/O5c+dKku666y699tprBlWFjuxKP5NLlizRzp079frrr+v06dOKiYnRhAkT9MQTT7AgMAzh5+enpKQk5ebmNtq+b98+9ejRo0ljuVWoudJvH+Hh4Xrqqac0efJkRUdHq6ysTH/+859VUFCg2267zcCq4enGjh2rpqwLe/jw4bYrBtC3/0y+//777VgN8O1ntOfNm6fbb79dycnJGjdunNavX681a9Y0+eJ1t1qlOzMzs9FvH+fdddddWrp0qX7yk5/o008/VVlZmcLDw5WUlKRf/epXSkpKMqBaAAAgXfn7+/wZ7b/97W9KT0/XsWPHNGDAAC1cuFBTpkxp0vu4VagBAAC4HI+b0g0AADomQg0AAPAIhBoAAOARCDUAAMAjEGoAAIBHINQAAACP4BahZubMmUpJSTG6DAAA4MLcItQAAAB8G7cLNevXr9eYMWMUGhqq8PBw3XLLLTpw4IDz9cOHD8tkMumdd97RuHHj1LlzZw0bNkxbt241sGoAANDW3C7UVFZWau7cufriiy+0ceNGeXl5aerUqc6ly8979NFH9ctf/lLZ2dnq37+/fvzjH6uurs6gqgEAQFtzqwUtJWn69OmNnv/tb39TRESEdu/erYSEBOf2X/7yl7r55pslSQsXLtTgwYOVl5en+Pj4dq0XAAC0D7c7U7N//379+Mc/Vu/evRUSEqKePXtKkvLz8xvtN3ToUOefo6OjJUklJSXtVicAAGhfbnem5tZbb1WPHj30yiuvKCYmRna7XQkJCaqtrW20n6+vr/PPJpNJkr7RogIAAJ7DrULNiRMnlJubq1deeUXf+973JElbtmwxuCoAAOAK3CrUdOnSReHh4Xr55ZcVHR2t/Px8PfLII0aXBQAAXIBbXFNjt9vl4+MjLy8vvfXWW9q+fbsSEhI0Z84cLV682OjyAACACzA5HA6H0UV8m0mTJqlv37568cUXjS4FAAC4KJc+U3Pq1CmtXbtWmZmZGj9+vNHlAAAAF+bS19T8/Oc/1+eff64HH3xQU6ZMMbocAADgwtyi/QQAAPBtXLr9BAAAcLUINQAAwCO4TKhJT09XUlKSgoODZbFYlJKSotzc3Eb7VFdXKzU1VeHh4QoKCtL06dNVXFzcaJ8HHnhAI0aMkL+/vxITE7/xPudX8f7Px7Zt29ry4wEAgDbmMqEmKytLqamp2rZtmzZs2CCbzaYJEyaosrLSuc+cOXO0Zs0aLV++XFlZWSosLNS0adO+MdbPf/5z3X777Vd8vw8//FDHjx93PkaMGNHqnwkAALQfl71QuLS0VBaLRVlZWUpOTpbValVERISWLVumGTNmSJL27t2rgQMHauvWrRo5cmSj4x9//HGtWrVK2dnZjbYfPnxYvXr10ldffXXJMzkAAMA9ucyZmv9ktVolSWFhYZKk7du3y2azNbpfTXx8vOLi4rR169Ymjz958mRZLBaNGTNGq1evbp2iAQCAYVwy1Njtds2ePVujR49WQkKCJKmoqEh+fn4KDQ1ttG9kZKSKioqueuygoCA999xzWr58udatW6cxY8YoJSWFYAMAgJtzyZvvpaamKicnp01W4O7atavmzp3rfJ6UlKTCwkItXrxYkydPbvX3AwAA7cPlztSkpaVp7dq12rRpk7p37+7cHhUVpdraWp0+fbrR/sXFxYqKimrRe1577bXKy8tr0RgAAMBYLhNqHA6H0tLStHLlSn300Ufq1atXo9dHjBghX19fbdy40bktNzdX+fn5GjVqVIveOzs7W9HR0S0aAwAAGMtl2k+pqalatmyZMjIyFBwc7LxOxmw2KyAgQGazWffcc4/mzp2rsLAwhYSEaNasWRo1alSjmU95eXmqqKhQUVGRzp4965z9NGjQIPn5+en111+Xn5+fhg8fLkl655139Le//U1/+ctf2v0zAwCA1uMyU7pNJtMlt7/66quaOXOmpIab7z344IN68803VVNTo4kTJ+qll15q1H4aO3assrKyvjHOoUOH1LNnT73++utatGiRjhw5Ih8fH8XHx2vevHnOaeIAAMA9uUyoAQAAaAmXuaYGAACgJQg1AADAIxBqAACARyDUAAAAj0CoAQAAHoFQAwAAPAKhBgAAeARCDQDDjR07VrNnzza6DABujlADwK1kZmbKZDJ9Y3FbACDUAAAAj0CoAdCuKisr9bOf/UxBQUGKjo7Wc8891+j1f/zjH7rmmmsUHBysqKgo/eQnP1FJSYkk6fDhwxo3bpwkqUuXLjKZTM614ex2u9LT09WrVy8FBARo2LBhWrFiRbt+NgDGItQAaFfz5s1TVlaWMjIy9MEHHygzM1Nffvml83WbzaYnnnhCO3bs0KpVq3T48GFncImNjdXbb78tScrNzdXx48f1hz/8QZKUnp6uv//971q6dKm+/vprzZkzRz/96U8vucAtAM/EgpYA2k1FRYXCw8P1xhtv6LbbbpMknTx5Ut27d9d///d/64UXXvjGMV988YWSkpJ05swZBQUFKTMzU+PGjdOpU6cUGhoqSaqpqVFYWJg+/PBDjRo1ynnsf/3Xf6mqqkrLli1rj48HwGA+RhcAoOM4cOCAamtrde211zq3hYWFacCAAc7n27dv1+OPP64dO3bo1KlTstvtkqT8/HwNGjTokuPm5eWpqqpKP/jBDxptr62t1fDhw9vgkwBwRYQaAC6jsrJSEydO1MSJE/XPf/5TERERys/P18SJE1VbW3vZ4yoqKiRJ69atU7du3Rq95u/v36Y1A3AdhBoA7aZPnz7y9fXVp59+qri4OEnSqVOntG/fPl1//fXau3evTpw4oWeeeUaxsbGSGtpPF/Pz85Mk1dfXO7cNGjRI/v7+ys/P1/XXX99OnwaAqyHUAGg3QUFBuueeezRv3jyFh4fLYrHo0UcflZdXw5yFuLg4+fn56U9/+pPuu+8+5eTk6Iknnmg0Ro8ePWQymbR27VrddNNNCggIUHBwsH75y19qzpw5stvtGjNmjKxWqz755BOFhITorrvuMuLjAmhnzH4C0K4WL16s733ve7r11ls1fvx4jRkzRiNGjJAkRURE6LXXXtPy5cs1aNAgPfPMM/rd737X6Phu3bpp4cKFeuSRRxQZGam0tDRJ0hNPPKHHHntM6enpGjhwoCZNmqR169apV69e7f4ZARiD2U8AAMAjcKYGAAB4BEINAADwCIQaAADgEQg1AADAIxBqAACARyDUAAAAj0CoAQAAHoFQAwAAPAKhBgAAeARCDQAA8AiEGgAA4BEINQAAwCP8f1HBHwq3NZ+aAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "df['close'].plot()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "b7cb75b2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>chg_price</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-07-19</th>\n",
       "      <td>8.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-17</th>\n",
       "      <td>8.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-08-01</th>\n",
       "      <td>5.47</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            chg_price\n",
       "date                 \n",
       "2011-07-19       8.09\n",
       "2012-07-17       8.05\n",
       "2012-08-01       5.47"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lib_chg.read('129031.SZ')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "cd075fcd",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>prev_close</th>\n",
       "      <th>volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1.1</td>\n",
       "      <td>1.2</td>\n",
       "      <td>0.1</td>\n",
       "      <td>1000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>2000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-03</th>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>3.3</td>\n",
       "      <td>3.4</td>\n",
       "      <td>0.3</td>\n",
       "      <td>3000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-01</th>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>4.4</td>\n",
       "      <td>4.5</td>\n",
       "      <td>0.4</td>\n",
       "      <td>4000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-02</th>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>5.5</td>\n",
       "      <td>5.6</td>\n",
       "      <td>0.5</td>\n",
       "      <td>5000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-03</th>\n",
       "      <th>1</th>\n",
       "      <td>6</td>\n",
       "      <td>6.6</td>\n",
       "      <td>6.7</td>\n",
       "      <td>0.6</td>\n",
       "      <td>6000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-01</th>\n",
       "      <th>1</th>\n",
       "      <td>7</td>\n",
       "      <td>7.7</td>\n",
       "      <td>7.8</td>\n",
       "      <td>0.7</td>\n",
       "      <td>7000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-02</th>\n",
       "      <th>1</th>\n",
       "      <td>8</td>\n",
       "      <td>8.8</td>\n",
       "      <td>8.9</td>\n",
       "      <td>0.8</td>\n",
       "      <td>8000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-03</th>\n",
       "      <th>1</th>\n",
       "      <td>9</td>\n",
       "      <td>9.9</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.8</td>\n",
       "      <td>9000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               data  open  close  prev_close  volume\n",
       "date       id                                       \n",
       "2016-01-01 1      1   1.1    1.2         0.1    1000\n",
       "2016-01-02 1      2   2.2    2.3         0.2    2000\n",
       "2016-01-03 1      3   3.3    3.4         0.3    3000\n",
       "2016-02-01 1      4   4.4    4.5         0.4    4000\n",
       "2016-02-02 1      5   5.5    5.6         0.5    5000\n",
       "2016-02-03 1      6   6.6    6.7         0.6    6000\n",
       "2016-03-01 1      7   7.7    7.8         0.7    7000\n",
       "2016-03-02 1      8   8.8    8.9         0.8    8000\n",
       "2016-03-03 1      9   9.9    9.0         0.8    9000"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = DataFrame(data={'data': [1, 2, 3, 4, 5, 6, 7, 8, 9],\n",
    "                         'open': [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9],\n",
    "                         'close': [1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8, 8.9, 9.0],\n",
    "                         'prev_close': [.1, .2, .3, .4, .5, .6, .7, .8, .8],\n",
    "                         'volume': [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000]\n",
    "                         },\n",
    "                   index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1),\n",
    "                                                 (dt(2016, 1, 2), 1),\n",
    "                                                 (dt(2016, 1, 3), 1),\n",
    "                                                 (dt(2016, 2, 1), 1),\n",
    "                                                 (dt(2016, 2, 2), 1),\n",
    "                                                 (dt(2016, 2, 3), 1),\n",
    "                                                 (dt(2016, 3, 1), 1),\n",
    "                                                 (dt(2016, 3, 2), 1),\n",
    "                                                 (dt(2016, 3, 3), 1)],\n",
    "                                                names=['date', 'id'])\n",
    "                   )\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "8231934d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>prev_close</th>\n",
       "      <th>volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>0.1</td>\n",
       "      <td>1000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <th>1</th>\n",
       "      <td>0.2</td>\n",
       "      <td>2000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               prev_close  volume\n",
       "date       id                    \n",
       "2016-01-01 1          0.1    1000\n",
       "2016-01-02 1          0.2    2000"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "lib.write('column_test', df, chunk_size='D')\n",
    "df = lib.read('column_test', chunk_range=pd.date_range('2016-01-01', '2016-01-02'),columns=['prev_close', 'volume'])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "4fcaa6bf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>bbc</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-03</th>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               data data2\n",
       "date       id            \n",
       "2016-01-01 1    100  appl\n",
       "2016-01-02 2    200   bbc\n",
       "2016-01-03 3    300  OKOK"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = DataFrame(data={'data': [100, 200, 300],'data2':['appl', 'bbc', 'OKOK']},\n",
    "               index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1),\n",
    "                                                (dt(2016, 1, 2), 2),\n",
    "                                                (dt(2016, 1, 3), 3)],\n",
    "                                               names=['date', 'id']))\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "id": "0bb1a802",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data</th>\n",
       "      <th>data2</th>\n",
       "      <th>data3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>appl</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-01-02</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-01-03</th>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-04</th>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-05</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-06</th>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-12</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>cnn</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               data data2 data3\n",
       "date       id                  \n",
       "2016-01-01 1    100  appl  appl\n",
       "           1    100  appl   NaN\n",
       "2016-01-02 2    200   cnn   NaN\n",
       "           3    300  OKOK    12\n",
       "2016-01-03 3    300  OKOK   NaN\n",
       "           3    300  OKOK   NaN\n",
       "2016-01-04 3    300  OKOK   NaN\n",
       "2016-01-05 2    200   cnn   NaN\n",
       "2016-01-06 1    100  appl   NaN\n",
       "2016-01-12 2    200   cnn   cnn"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lib.write('abcd', df, chunk_size='M')\n",
    "df =lib.read('abcd')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "id": "2da5b726",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data</th>\n",
       "      <th>data2</th>\n",
       "      <th>data3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>appl</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-12</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>cnn</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               data data2 data3\n",
       "date       id                  \n",
       "2016-01-01 1    100  appl  appl\n",
       "2016-01-02 3    300  OKOK    12\n",
       "2016-01-12 2    200   cnn   cnn"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = DataFrame(data={'data': [100, 200, 300],'data2':['appl', 'cnn', 'OKOK'],'data3':['appl', 'cnn', '12']},\n",
    "               index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1),\n",
    "                                                (dt(2016, 1, 12), 2),\n",
    "                                                (dt(2016, 1, 2), 3)],\n",
    "                                               names=['date', 'id']))\n",
    "lib.update('abcd', df2)\n",
    "#lib.update('test', df)\n",
    "df = lib.read('abcd')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "b0179233",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data</th>\n",
       "      <th>data2</th>\n",
       "      <th>data3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th>id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-01-01</th>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>appl</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100</td>\n",
       "      <td>appl</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-01-02</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-03</th>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>OKOK</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-12</th>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>cnn</td>\n",
       "      <td>cnn</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               data data2 data3\n",
       "date       id                  \n",
       "2016-01-01 1    100  appl  appl\n",
       "           1    100  appl   NaN\n",
       "2016-01-02 2    200   cnn   NaN\n",
       "           3    300  OKOK    12\n",
       "2016-01-03 3    300  OKOK   NaN\n",
       "2016-01-12 2    200   cnn   cnn"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df3 = DataFrame(data={'data': [100, 200, 300],'data2':['appl', 'cnn', 'OKOK']},\n",
    "               index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1),\n",
    "                                                (dt(2016, 1, 2), 2),\n",
    "                                                (dt(2016, 1, 3), 3)],\n",
    "                                               names=['date', 'id']))\n",
    "lib.append('abcd',df3)\n",
    "df = lib.read('abcd')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "ea5a3b5c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['a', 'ab', 'abc', 'abcd', 'column_test', 'mydf', 'test']"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lib.list_symbols()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "id": "a304ab70",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'chunk_count': 1,\n",
       " 'len': 6,\n",
       " 'appended_rows': -4,\n",
       " 'metadata': {'columns': ['date', 'id', 'data', 'data2', 'data3']},\n",
       " 'chunker': 'date',\n",
       " 'chunk_size': 'M',\n",
       " 'serializer': 'FrameToArray'}"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lib.get_info('abcd')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "cfea9d85",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(b'2016-01-01 00:00:00', b'2016-01-31 23:59:59.999000')]"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " list(lib.get_chunk_ranges('abcd'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a86e8e3d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
